一尘不染

在Docker Compose中自动创建网络

docker

在Docker中使用自定义网络时

networks:
  default:
    external:
      name: service-tier

并尝试运行它,我得到了错误

错误:网络服务层已声明为外部,但找不到。请使用手动创建网络,docker network create service-tier然后重试。

是否可以使用docker-compose自动创建网络,还是除了首先手动创建网络外没有其他方法?


阅读 768

收藏
2020-06-17

共1个答案

一尘不染

external是使用现有网络。如果您想组成网络,只需执行以下操作:

networks:
  network1:
  network2:

..指示组成网络。它们将被命名为使用<compose-dir>-<network name>验证创建docker network ls

您还可以覆盖默认网络或指定更多属性。

networks:
  default:
    driver: bridge
    driver_opts:
      com.docker.network.driver.mtu: 1450

..将覆盖默认的网络设置MTU到1450(在主机的MTU低于1500并且路径MTU发现无法正常工作时很方便)。还有其他桥驱动程序选项

external 如果您希望两种组合设置中的服务相互通信,或者您拥有手动创建的网络,则更有意义。

2020-06-17