学习优先级:★★★★☆

易用性:★★★☆☆

在 Docker Compose 中,每个服务都可以拥有自己的网络配置,从而能够独立于其他服务进行通信或保持隔离。

以下是一个示例,展示了如何在 Docker Compose 中为每个服务定义自己的网络配置。

示例代码

version: '3'

services:
  web:
    image: nginx
    networks:
      - frontend

  db:
    image: postgres
    networks:
      - backend

networks:
  frontend:
  backend:

执行结果

Nginx Web 服务位于 frontend 网络中,而 PostgreSQL 数据库服务位于 backend 网络中。

Docker Compose 允许创建多个网络,在这些网络中,服务可以被隔离,也可以有针对性地进行通信。每个服务可以通过分配给它的网络访问其他服务,或者与它们保持隔离。这在确保某些服务仅在特定环境中可访问时非常有用,例如将 Web 服务放在前端网络,将数据库放在后端网络。

补充说明

默认情况下,如果未定义自己的网络,Docker Compose 会为所有服务创建一个隔离的网络。同一网络中的服务可以通过服务名称相互访问。