docker修改容器端口映射
方法一
-
1、停止容器(
docker stop d00254ce3af7
) -
2、停止docker服务(
systemctl stop docker
) -
3、修改这个容器的
hostconfig.json
文件中的端口(原帖有人提到,如果config.v2.json
里面也记录了端口,也要修改)1
2
3
4
5
6
7
8
9
10cd /var/lib/docker/containers/d00254ce3af7* #这里是CONTAINER ID
vim hostconfig.json
如果之前没有端口映射, 应该有这样的一段:
"PortBindings":{}
增加一个映射, 这样写:
"PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":"60000"}]}
前一个数字是容器端口, 后一个是宿主机端口。将宿主机的60000端口映射到容器的8080端口
而修改现有端口映射更简单, 把端口号改掉就行。 -
4、启动docker服务(systemctl start docker)
-
5、启动容器(docker start d00254ce3af7)
hostconfig.json文件
vim下执行:%!python3 -m json.tool
格式化代码
config.v2.json文件
方法二
1、获得容器IP
将container_name 换成实际环境中的容器名
1 | docker inspect `container_name` | grep IPAddress |
2、iptable转发端口
将宿主机的60000端口映射到容器的8080端口
1 | iptables -t nat -A DOCKER -p tcp --dport 60000 -j DNAT --to-destination 172.17.0.2:8080 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Rick!
评论