如何使用 Docker compose 定义子网和 IP 地址并将其分配给容器

How do I define and assign Subnet and IP addresses to Containers using Docker compose

我认为我想做的是直截了当的,但是通读 docker 关于网络的撰写文档部分 https://docs.docker.com/compose/networking/ 我找不到有用的信息:(

我想创建 2 个子网(将来可能会更多 - 但现在,让我们创建两个子网)并能够将每个子网的 IP 地址手动分配到我在 [=18] 中指定的容器=]-撰写。

如何做到这一点?

使用此撰写文件,您可以添加任意多个 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