例如,我想更改活动容器上已发布的端口
docker run -p 80:80 --name nginx_live nginx
然后稍后将其更改为另一个端口,例如-p 8080:80
Docker 没有一种机制可以在容器启动后更改其已发布的端口。当您发布端口时,会发生两件事:
- Docker 创建
iptables
中的规则nat
将流量重定向到容器的“公共”端口的表。
- Docker 启动一个侦听该端口的代理服务来处理本地生成的流量。
虽然理论上您可以手动更新防火墙规则以使服务在新端口可用,但您将无法取消绑定 Docker 代理,因此无法使用该“公共”端口启动任何新服务。
最好的做法就是删除容器并重新部署它,或者依靠某种前端代理来处理重定向,而不是使用 Docker 的端口发布机制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)