docker容器在运行期间有时可能会需要修改或者添加暴露的端口,但是有时候运行的容器又不想再另外建立一个新的镜像。这时可以找到docker容器的存放地方,然后直接修改配置文件。
我们的容器都是保存在/var/lib/docker/containers下
面。
我的容器是在/var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632
每个容器id对应一个hash_id,可以看到nginx容器暴露了两个端口。下面我们来添加多一个9999端口。
进入容器对应的目录:
1
|
cd /var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632
|
我们看到:
把hostconfig.json复制出来使用json转换工具找到“portbindings”节点
接下来我们就依葫芦画瓢在上面添加一个。
如图:
修改hostconfig.json
并保存。
然后再修改config.v2.json的exposedports
,如图:
保存退出。
重启docker ,
重启容器。
可以看到,9999端口已经暴露出来了。
总结
以上所述是小编给大家介绍的docker动态添加端口不需要重新建立镜像的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!原文链接:https://www.cnblogs.com/davenzeng/archive/2019/07/10/11164408.html