docker-compose 的 networks

Docker Compose 中的 networks 是用于定义 Docker 容器间通信的网络。在 Docker Compose 中,您可以创建一个或多个 networks,然后将服务(services)映射到这些 networks 中,从而使它们能够相互通信。

您可以使用 Docker Compose 中的 networks 来创建不同类型的网络,如 bridge、host、overlay 等等。Bridge 网络是默认的网络类型,可以用于在单个主机上的容器之间进行通信。Host 网络可以让容器直接使用主机网络,而不是在 Docker 引擎内部进行网络隔离。Overlay 网络则可以用于跨多个 Docker 主机进行通信。

在 Docker Compose 文件中定义 networks 的语法如下所示:

networks:
  <network-name>:
    [driver: <driver-name>]
    [external: true|false]
    [name: <network-name>]
    [attachable: true|false]
    [driver_opts: {}]
    [internal: true|false]

其中,<network-name> 为网络名称,driver 为网络驱动程序名称,external 用于指定网络是否应该由 Docker Compose 创建,name 用于指定网络名称,attachable 用于指定网络是否可以附加到已运行的容器,driver_opts 用于指定网络驱动程序的特定选项,internal 用于指定是否应将网络标记为仅供容器内部使用。