网络 Docker-撰写

Network Docker-Compose

我有一个 docker-compose,带有一个名为 mdb_default 的桥接网络,其中我有一个数据库。

我想部署另一个连接到该网络的 docker-compose,但我不知道如何在 docker-compose 中定义它。 我的文件是:

supeset:
    container_name: superset
    build: .
    restart: always
    depends_on:
      - mariadb
    environment:
      MAPBOX_API_KEY: 'pk.eyJ1IjoiamFta2lsbHM1IiwiYSI6ImNrd293aDJyZjA3MGQyd3AzdTJpeXp0dTAifQ.w96chqjB6Nv3PW6_lpQVHQ'
    ports:
      - 8000:8088
    volumes:
      - ./superset-data:/var/lib/mysql
    networks:
      - mdb_defatult
networks:
  mdb_dafault:
    driver: bridge 

我需要做什么才能连接到这个现有网络?

我要同时连接的网络信息是:

        "Name": "mdb_default",
        "Id": "2c69ba9fb42c1d9ca6142ae49c403d44bae5e297b78f4339c4782d3658f3d49c",
        "Created": "2022-05-17T14:17:47.935473033Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.20.0.0/16",
                    "Gateway": "172.20.0.1"

您可以在撰写文件中声明一个 external 网络,然后让每个服务将自身附加到该网络。这是标志的文档和另一篇在实践中更多地展示它的文章:

如此处所述:https://docs.docker.com/compose/networking/#use-a-pre-existing-network

尝试:

supeset:
    container_name: superset
    build: .
    restart: always
    depends_on:
      - mariadb
    environment:
      MAPBOX_API_KEY: 'pk.eyJ1IjoiamFta2lsbHM1IiwiYSI6ImNrd293aDJyZjA3MGQyd3AzdTJpeXp0dTAifQ.w96chqjB6Nv3PW6_lpQVHQ'
    ports:
      - 8000:8088
    volumes:
      - ./superset-data:/var/lib/mysql
    networks:
      - mdb
networks:
  mdb:
    external:
      name: mdb_default