运行中的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 iptables -t nat -D DOCKER 4
$num是动态的 请勿直接删除4, 删除5, 删除6 每次去查看下 要删除的规则的编号再去删除