如何使用Docker compose定义子网和IP地址并将其分配给容器
我想我想做的是直截了当的,但是通过阅读docker compose关于网络的文档部分,我没有发现有用的信息:( 我想创建2个子网(将来可能会更多,但现在,让我们将其设置为2个子网),并能够手动将每个子网的IP地址分配给我在docker compose中指定的容器如何使用Docker compose定义子网和IP地址并将其分配给容器,docker,docker-compose,docker-networking,Docker,Docker Compose,Docker Networking,我想我想做的是直截了当的,但是通过阅读docker compose关于网络的文档部分,我没有发现有用的信息:( 我想创建2个子网(将来可能会更多,但现在,让我们将其设置为2个子网),并能够手动将每个子网的IP地址分配给我在docker compose中指定的容器 如何做到这一点?使用此合成文件,您可以添加任意数量的n/w:- version: '2' services: mysql: container_name: mysql image: mysql:latest
如何做到这一点?使用此合成文件,您可以添加任意数量的n/w:-
version: '2'
services:
mysql:
container_name: mysql
image: mysql:latest
ports:
- "3306:3306"
networks:
mgmnt:
ipv4_address: "192.168.80.5"
tomcat:
container_name: tomcat
image: tomcat:latest
ports:
- "8080:8080"
- "8009:8009"
networks:
mgmnt:
ipv4_address: "192.168.80.6"
local:
ipv4_address: "10.10.0.10"
depends_on:
- mysql
networks:
mgmnt:
driver: bridge
ipam:
config:
- subnet: 192.168.0.0/16
gateway: 192.168.0.1
local:
driver: bridge
ipam:
config:
- subnet: 10.10.0.0/16
gateway: 10.10.0.1
如果我想
tomcat
成为两个子网的一部分,那该怎么办?那会是什么样子?为什么需要这样做?通常不能从Docker空间外部直接访问容器专用IP地址,而在Docker空间内部,Compose托管网络还提供可以解析容器名称的DNS;很少需要管理容器名称这些IP地址是直接的。(即使在一个docker compose.yml
文件中使用多个网络,似乎也没有多大好处。)