Docker 动态修改容器端口映射的方法
小于 1 分钟约 243 字
Docker 动态修改容器端口映射的方法
查询容器ip
# docker inspect mysql | grep "IPAddress"
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器ID/容器名
Iptables
端口映射
iptables -t nat -A DOCKER -p tcp --dport <容器外部端口> -j DNAT --to-destination <容器ip>:<容器内部端口>
取消端口映射
iptables -t nat -D DOCKER -p tcp -d 0/0 --dport <容器外部端口> -j DNAT --to-destination <容器ip>:<容器内部端口>
示例
如nginx
负载均衡nacos
集群,要映射8848
和9848
端口
docker inspect --format '{{ .NetworkSettings.IPAddress }}' nginx

iptables -t nat -A DOCKER -p tcp --dport 8848 -j DNAT --to-destination 172.17.0.3:8848
iptables -t nat -A DOCKER -p tcp --dport 9848 -j DNAT --to-destination 172.17.0.3:9848