主机有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地址的正确步骤是什么?
答案 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
希望这会奏效。