运行中的docker容器如何动态更改端口映射
问题起因:mysql数据库 端口没有在映射时没有做端口映射先想在宿主机使用该数据库
-
查看 docker run 的-p命令 就是端口转发,就想在宿主机添加一个端口转发规则。
a, 获取容器ip docker inspect $container_name | grep IPAddress b. 添加转发规则 iptables -t nat -A DOCKER -p tcp --dport $host_port -j DNAT --to-destination $docker_ip:$docker_port
iptables -t nat -A DOCKER -p tcp -m tcp --dport 3306 -j DNAT --to-destination 172.18.0.3:3306
-
删除端口映射规则
a. 获取规则编号 iptables -t nat -nL --line-number b. 根据编号删除规则 iptables -t nat -D DOCKER $num root@devlop-local:~/# iptables -t nat -nL --line-number Chain PREROUTING (policy ACCEPT) num target prot opt source destination 1 DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL Chain INPUT (