• docker动态绑定端口


    一、背景

    在创建容器的时候,我们可以使用命令 docker container run -p host:container container-name 的方式来绑定端口,还可以使用docker-compose.yml文件来绑定端口。有时会有一个需求:在已经创建的容器上添加容器端口与主机端口的绑定,这时可以使用iptables命令来动态绑定端口,而不用重新创建容器。

    二、使用iptables动态绑定端口

    1、查看容器ip

    docker inspect <container-name | id> | grep IPAddress

    这一步后会输出容器的ip地址,端口绑定时会使用。

    2、端口绑定

    sudo iptables -t nat -A PREROUTING  -p tcp -m tcp --dport hostport -j DNAT --to-destination  containerip:port

    举个例子,使用命令

    sudo iptables -t nat -A PREROUTING  -p tcp -m tcp --dport 9030 -j DNAT --to-destination  172.22.0.2:9090

    将容器的9090端口和宿主机的9030端口绑定了起来,其中172.22.0.2是容器的ip地址。

    3、保存规则

    sudo iptables-save

    4、查看动态绑定的端口

     docker port <container-name | id> 不能查看使用iptables绑定的端口,要使用命令 iptables -t nat -nvL | grep container-ip 来查看。

  • 相关阅读:
    Fundamentals of Garbage Collection
    CLR的八大特性
    Navigation and Pathfinding
    Work-Stealing in .NET 4.0
    Graphics.Blit
    整数的可除性
    关于强度
    重心坐标空间
    性能测试中TPS和并发用户数
    LoadRunner 12.02 安装以及汉化教程
  • 原文地址:https://www.cnblogs.com/sench/p/8798353.html
Copyright © 2020-2023  润新知