Py学习  »  docker

为同一Docker容器的多个实例分配不同的公共IP

juanba1984 • 6 年前 • 1898 次点击  

是否可以将公共IP分配给linux容器?如何对docker容器执行此操作?也许通过代理?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54300
文章 [ 1 ]  |  最新文章 6 年前
Mostafa Hussein
Reply   •   1 楼
Mostafa Hussein    7 年前

为了给docker容器分配公共IP,您需要使用 Macvlan network driver 例如:

Macvlan网络驱动程序可用于为每个容器分配一个MAC地址虚拟网络接口,使其看起来是一个直接连接到物理网络的物理网络接口。

docker network create -d macvlan -o macvlan_mode=bridge --subnet=172.16.86.0/24 --gateway=172.16.86.1 -o parent=eth0 pub_net

然后创建将使用上述网络的容器:

docker run --name web_container --net=pub_net --ip=172.16.86.2 --mac-address 25-EE-4E-B5-21-48 -itd nginx

现在有一个面向公众的容器在运行 172.16.86.2 从同一个docker镜像中,你可以运行多个docker容器并为每个容器分配一个公共IP。