Docker动态添加端口不需要重新建立镜像的方法

(编辑:jimmy 日期: 2024/12/26 浏览:2)

Docker容器在运行期间有时可能会需要修改或者添加暴露的端口,但是有时候运行的容器又不想再另外建立一个新的镜像。这时可以找到docker容器的存放地方,然后直接修改配置文件。

我们的容器都是保存在/var/lib/docker/containers下面。

Docker动态添加端口不需要重新建立镜像的方法

我的容器是在/var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632

每个容器ID对应一个hash_id,可以看到nginx容器暴露了两个端口。下面我们来添加多一个9999端口。

进入容器对应的目录:

cd /var/lib/docker/containers/797f3d0cb82aec7d1c355c7461b5bc5a050c1c0cbbe5d813ede0edad061e6632

我们看到:

Docker动态添加端口不需要重新建立镜像的方法

把hostconfig.json复制出来使用json转换工具找到“PortBindings”节点

接下来我们就依葫芦画瓢在上面添加一个。

如图:

Docker动态添加端口不需要重新建立镜像的方法

修改hostconfig.json并保存。

然后再修改config.v2.json的ExposedPorts,如图:

Docker动态添加端口不需要重新建立镜像的方法

保存退出。

重启docker ,

重启容器。

Docker动态添加端口不需要重新建立镜像的方法

可以看到,9999端口已经暴露出来了。

总结

以上所述是小编给大家介绍的Docker动态添加端口不需要重新建立镜像的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。