通过配置文件修改docker容器端口号
【摘要】 这个过程分三步: 第一步:找到配置文件 容器的配置文件在 /var/lib/docker/containers 里对应的目录下,里面的目录名都是用ID命名的,所以我们首先要找到这个ID,才能进到正确的目录去配置。这个ID可以通过下面两步来确定
通过docker ps -a 命令,得到容器名或容器ID
~$ sudo docker ps -a
CONTAINER ID...
这个过程分三步:
第一步:找到配置文件
容器的配置文件在 /var/lib/docker/containers 里对应的目录下,里面的目录名都是用ID命名的,所以我们首先要找到这个ID,才能进到正确的目录去配置。这个ID可以通过下面两步来确定
- 通过docker ps -a 命令,得到容器名或容器ID
~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5241cb464832 nginx "bash" About an hour ago Up 11 minutes 0.0.0.0:8666->80/tcp, 0.0.0.0:8999->8888/tcp MySecond
- 1
- 2
- 3
- 4
- 通过上一步获得的容器名,获得id,这个就是目录名:
~$ sudo docker inspect MySecond | grep Id "Id": "5241cb4648321bcab7e9837c218598637e2c2f8cf1b359fdddd4f75e09b1618e"
- 1
- 2
第二步:修改配置文件
- 首先切换到root用户,否则权限不够
~$ su root
#接着输入密码即可
- 1
- 2
- 打开配置文件目录
# cd /var/lib/docker/containers/5241cb4648321bcab7e9837c218598637e2c2f8cf1b359fdddd4f75e09b1618e
- 1
- 按下如下要求修改配置文件:
要求把宿主机8666端口映射到容器的80端口,把宿主机8999端口映射到容器的8888端口
(1)修改hostconfig.json
# vim hostconfig.json
- 1
内容如下:
"PortBindings":{
"80/tcp":[{
"HostIp":"",
"HostPort":"8666"
}],
"8888/tcp":[{
"HostIp":"",
"HostPort":"8999"}]
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
(2)修改config.v2.json
将容器的端口暴露出来。
# vim config.v2.json
- 1
内容如下:
"ExposedPorts":{
"80/tcp":{},
"8888/tcp":{}
}
- 1
- 2
- 3
- 4
"Ports":{
"80/tcp":[{"HostIp":"0.0.0.0","HostPort":"8666"}],
"8888/tcp":[{"HostIp":"0.0.0.0","HostPort":"8999"}]
}
- 1
- 2
- 3
- 4
第三步:重启docker服务
$ sudo service docker restart
或
$ sudo systemctl start docker
- 1
- 2
- 3
这样就完成修改已创建的容器的端口信息了。注意:修改后要重启docker服务才能生效
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/102703298
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)