学习优先级:★★★☆☆

易用性:★★★★☆

在 Docker Compose 中,可以使用外部网络将容器连接到 Compose 环境外的服务。通过 external 指令,可以使用已存在的 Docker 网络,而无需创建新的网络。

以下是一个示例,展示了如何在 Compose 文件中绑定外部网络名称。

示例代码

version: '3.8'

services:
  web:
    image: nginx
    networks:
      - my-external-network

networks:
  my-external-network:
    external: true

执行结果

Docker Compose 将 web 服务连接到已存在的 my-external-network 网络,而不会创建新的网络。

在 Docker Compose 中使用外部网络允许容器无缝连接到其他容器或服务,这些服务不属于当前的 Compose 项目,但需要使用相同的网络。这在管理不同 Compose 文件中的多个微服务时非常有用,尤其是当它们需要共享相同的网络时。

补充说明

网络必须在启动 Docker Compose 之前已经存在。可以使用以下命令手动创建外部网络:

docker network create my-external-network

这样,Docker Compose 就可以使用这个已存在的网络了。