【问题标题】:Docker is creating two networks instead of oneDocker 正在创建两个网络而不是一个
【发布时间】:2019-05-01 11:51:54
【问题描述】:
  • Docker 不是我的强项,所以请多多包涵。
  • 我正在使用 docker 和 docker-compose 为 Magento2 创建本地开发环境。 (https://github.com/victortodoran/magento2-docker)
  • 我创建了一个自定义网络来为容器分配静态 IP
  • 摘自 docker-compose.yml (https://github.com/victortodoran/magento2-docker/blob/master/docker-compose.yml)

    网络: 万维网: 司机:桥 ipam: 配置: - 子网:172.20.0.0/16

  • 我正在使用 docker-compose up -d 启动我的容器

  • 问题在于它创建了两个网络 thesis_defaultthesis_www

    • thesis_default 有一个不断变化的网关。每次我放下容器并再次抬起它们时,网关现在都会更改为 172.30.0.1,如果重新抬起它们,它将位于 172.31.0.1

    • thesis_www没有网关

问题

  • 为什么要创建两个网络?如果可能的话,我该如何防止这种情况发生。我希望只创建 thesis_www 并且它具有网关 172.20.0.1
  • 为什么thesis_www没有网关

【问题讨论】:

    标签: docker networking docker-compose


    【解决方案1】:

    docker-compose 自动创建一个默认网络。并默认运行该网络中的所有服务。

    您可以使用覆盖默认网络

    networks:
      default:
        driver: bridge
        ipam:
          config:
            - subnet: 172.20.0.0/16
    

    【讨论】:

    • 一切都好,只创建了一个网络,但它没有网关:(
    • 错误:Compose 文件 './docker-compose.yml' 无效,因为:networks.default.ipam.config 值 不允许附加属性('gateway' 是意外的)
    【解决方案2】:

    运行 'docker network inspect thesis_default' 的结果是什么?现在的“thesis_default”单一网络应该有一个网关,因为它是“bridge”类型的。

    "...bridge - 一个自动生成的带有子网和网关的网络..." - https://www.techrepublic.com/article/how-to-create-and-manage-docker-networks/

    【讨论】:

    • victortodoran@EVO798L:~/work/thesis$ sudo docker network inspect thesis_default [ { "Name": "thesis_default", "Id": "82a3ae026e59f4d7712bbb3108bff802cf46fb909914930f8302acf8ac5c4d1d", "Created:" 01T15:28:52.603704632+03:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options":空,“配置”:[{“子网”:“172.20.0.0/16”}]},...
    • 糟糕。 cmets 部分有点长。今晚我会尝试运行你的 docker-compose.yml,看看我会发生什么。
    猜你喜欢
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 1970-01-01
    相关资源
    最近更新 更多