gpt4 book ai didi

docker - 通过命令行为Docker Compose创建自定义网络

转载 作者:行者123 更新时间:2023-12-02 19:29:33 29 4
gpt4 key购买 nike

真的很基础,但是本文档似乎只提到docker-compose文件本身,而不是命令行:https://docs.docker.com/compose/networking/#links

当我打电话时:

docker-compose up -d service1 service2

我希望这些创建的容器位于具有自定义名称的新网络上。使用docker-compose up命令时如何指定此网络?

即使我将网络配置添加到docker-compose文件中:
networks:
mynetwork:

service1:
networks:
- mynetwork

docker-compose命令仍然在默认网络上创建容器,而不是使用“mynetwork”。

最佳答案

  • 创建不存在的外部网络-
    $ docker network create mynetwork || true
  • 定义外部网络以组成文件-
    .........
    ports:
    - "8088:8088"
    networks:
    - mynetwork

    networks:
    mynetwork:
    external: true

  • 同样,您也可以使用默认的create by网络,但它将当前目录名添加到定义的网络名之前。您也可以使用主机网络模式,但不建议这样做。

    上面两个用例现在已经很老了,因为 compose 3.5,您可以为撰写环境指定自定义名称。这使多个撰写文件中的服务可以相互通信,而无需进行大量配置。

    首选
  • 最近在docker compsoe 3.5中,他们启动了自定义名称功能。因此,如果您可以使用compose 3.5,则可以选择为docker compose网络自定义名称。如果不存在,Compose会创建一个新网络。(首选)
    https://docs.docker.com/compose/compose-file/#name-1

  • 前-
        version: '3.5'
    .........
    ports:
    - "8088:8088"
    networks:
    - mynetwork

    networks:
    mynetwork:
    external: true
    name: mynetwork

    关于docker - 通过命令行为Docker Compose创建自定义网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52757357/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com