今天遇到启动镜像之后,通过HTTP请求的的方式访问不了的一个小问题,下面来记录并分享下解决办法:
常用的docker启动命令和解决办法如下所示:
一、启动docker
众所周知,启动容器的命令如下:
1
|
docker run 镜像名称 |
二、绑定容器端口与本地端口
由于启动容器之后,本地无法直接访问容器内的端口,故而需要将本地的端口与容器的端口做一个绑定操作,从而可以通过本地端口去访问容器,设置如下:
1
|
docker run -p 本地端口:容器端口 镜像名称 |
然后就可以通过本地的浏览器通过本地的端口访问容器了。
三、容器在后台运行,加-d参数,命令如下:
docker run -d -p 本地端口:容器端口 镜像名称
四、查看镜像列表,命令如下
1
2
3
|
docker image ls 或 docker images |
五、查看正在运行的容器,命令如下
1
|
docker ps |
补充:docker 给运行的容器映射本地端口
1.提交运行中的容器为一个镜像 (这样不会丢失在容器的各种操作)
1
2
|
docker commit tang tang1 ### tang(运行容器名称) tang1(生成镜像名称) |
2.运行镜像并添加端口
1
2
|
docker run -d -it -p 8000:80 tang1:latest /bin/bash ### 小p是自定义端口 latest 是镜像的标签(最好写上专业点) |
补充:docker加载volume并绑定端口
要求
已获取docker image,现在想要创建container,加载本地目录到container目录,还有映射本地和container之间的端口。
具体举例如下:
image ID: 884e0fc83dfe
设置container name: test
将本地的9000端口映射到container的80端口
加载数据卷volume:将本地的~/Desktop/test 映射到container的/test目录
实现
1
2
3
4
|
docker run -it --name test - v ~ /Desktop/test : /test -p 9000:80 884e0fc83dfe /bin/bash # 进入新建container docker start test docker attach test |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/qq_32403063/article/details/99483529