使用版本2进行了定义:
networks:
vpcbr:
driver: bridge
ipam:
config:
- subnet: 10.5.0.0/16
gateway: 10.5.0.1
aux_addresses:
mysql: 10.5.0.5
apigw-tomcat: 10.5.0.6
如何在docker-compose版本3.7中写入相同的配置?
参考:Provide static IP to docker containers via docker-compose
答案 0 :(得分:0)
您不能使用版本3(或更高版本)的配置文件复制该配置。来自the documentation:
ipam
指定自定义IPAM配置。这是一个具有多个属性的对象,每个属性都是可选的:
driver
:自定义IPAM驱动程序,而不是默认驱动程序。config
:具有零个或多个配置块的列表,每个配置块包含以下任意键:
subnet
:CIDR格式的子网代表一个网段注意:目前仅支持版本2的其他IPAM配置,例如网关。
要实现类似的目的,您可以使用docker-compose
在docker network create
之外创建网桥网络,然后通过在撰写文件中配置external: true
网络来使用它。
答案 1 :(得分:0)
使用 version 3.9
,您可以在 docker-compose 中配置网络设置。
version: "3.9"
networks:
mynet01:
driver: overlay
ipam:
driver: default
config:
- subnet: 10.0.0.0/16
attachable: true
有关详细信息,请查看此https://docs.docker.com/compose/compose-file/compose-file-v3/#network-configuration-reference
您也可以从命令行创建网络
$ docker network create \
--driver overlay \
--ingress \
--subnet=10.11.0.0/16 \
--gateway=10.11.0.2 \
--opt com.docker.network.driver.mtu=1200 \
--scope swarm \
my-ingress
你可以在docker compose中引用这个网络,如下
version: "3.9"
networks:
network1:
external: true
name: my-ingress
我们使用 external: true
是因为网络已经可用。
参考:https://docs.docker.com/network/overlay/#customize-the-default-ingress-network