为Docker Container分配一个公共IP

时间:2018-02-01 10:10:54

标签: docker docker-container

主机有5个映射到NIC的IP地址。当我创建一个docker容器并检查它的公共IP地址使用的是什么时: 卷曲http://api.ipify.org 我发现它总是在第一个IP地址上。我希望一些容器能够使用其他IP公共地址。

我尝试过这里描述的过程: https://blog.jessfraz.com/post/ips-for-all-the-things/

但是以这种方式启动容器之后,它似乎没有网络访问权限,甚至无法ping到任何外部主机。

我也试过这里给出的第一个答案: Is it possible to assign a static public ip to a Docker Container?

但这也会导致容器没有任何传出网络访问权限。

我的码头 - 版本给出:17.09.1-ce

设置Docker容器并为其分配已映射到主机的公共IP地址的正确步骤是什么?

1 个答案:

答案 0 :(得分:0)

你必须使用macvlan驱动程序而不是桥接器。做如下

首先删除您创建的网络  然后使用以下命令

创建新的自定义网络
  
    

docker network create --driver = macvlan --subnet = 142.5.162.178 / 29     --gateway = 142.5.162.177 custom_net“-o parent = eth0

         

docker run -itd --net = custom_net --name cont1 --ip = 142.5.162.178 --dns = 8.8.8.8 alpine

         

docker exec -it cont1 sh

         

ping google.com

  

希望这会奏效。