在Docker中使用自定义网络时
networks: default: external: name: service-tier
并尝试运行它,我得到了错误
错误:网络服务层已声明为外部,但找不到。请使用手动创建网络,docker network create service-tier然后重试。
docker network create service-tier
是否可以使用docker-compose自动创建网络,还是除了首先手动创建网络外没有其他方法?
external是使用现有网络。如果您想组成网络,只需执行以下操作:
external
networks: network1: network2:
..指示组成网络。它们将被命名为使用<compose-dir>-<network name>验证创建docker network ls。
<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 如果您希望两种组合设置中的服务相互通信,或者您拥有手动创建的网络,则更有意义。