运行中的docker如何动态更改端口转发

运行中的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 每次去查看下 要删除的规则的编号再去删除

你可能感兴趣的:(docker)