学习优先级:★★★★☆
易用性:★★★☆☆
在 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 会为所有服务创建一个隔离的网络。同一网络中的服务可以通过服务名称相互访问。