运行中的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
    
    
      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 (
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值