社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

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

juanba1984 • 5 年前 • 1364 次点击  

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

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

为了给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。