docker更新容器端口映射

docker 在run的时候可以指定端口映射,如果生成后就没有官方命令可以增加或者修改容器端口映射,如果容器本身需要启动很多端口映射,则可以使用–net=host的配置使得docker容器使用宿主机网络端口。不过大部分来说会因为避免端口冲突来使用映射来解决,于是遇到需要修改容器端口映射的问题,一般来说有先保存镜像,再创建一个新的容器,在创建时指定新的端口映射这样的做法,但会略嫌麻烦,实测可以通过修改容器的文件来达到修改端口映射的目的。

1、 查看容器的id(docker ps -a)

在这里插入图片描述

2、停止容器(docker stop 2938a10f0af1)
3、停止docker服务(systemctl stop docker)
4、修改这个容器的hostconfig.json还有config.v2.json文件中的端口
先进入容器内部

 cd /var/lib/docker/containers/2938a10f0af1*    

修改hostconfig.json文件

 vim hostconfig.json

找到PortBindings这段配置
docker更新容器端口映射_第1张图片
增加一个映射,我是要增加8200这样的映射,于是我 这样写:
“PortBindings”:{“8200/tcp”:[{“HostIp”:"",“HostPort”:“8200”}]}
前一个数字是容器端口, 后一个是宿主机端口。

修改config.v2.json文件

vim config.v2.json

找到ExposedPorts相关配置:

我增加了,“8200/tcp”:{} 这段配置

4、启动docker服务(systemctl start docker)
5、启动容器(docker start 2938a10f0af1)

即可完成端口映射修改

你可能感兴趣的