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

Fin*_*ber 2 docker docker-compose docker-network

我认为我想做的事情很简单,但是通读有关网络的 docker compose 文档部分https://docs.docker.com/compose/networking/我发现没有有用的信息:(

我想创建 2 个子网(将来可能会更多 - 但现在我们只创建两个子网),并且能够手动将每个子网的 IP 地址分配给我在 docker-compose 中指定的容器。

如何才能做到这一点?

Mun*_*ish 5

使用此撰写文件,您可以添加任意数量的 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
Run Code Online (Sandbox Code Playgroud)