学习优先级:★★★★★
易用性:★★★★☆
Docker Compose 会自动创建一个标准网络,以便容器之间可以相互通信。这大大简化了容器连接的配置,因为无需手动进行网络配置。容器可以通过服务名称相互访问。
以下是一个示例,展示了如何在 Docker Compose 网络中使两个服务相互通信。
示例代码
version: '3.8'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
执行结果
运行此配置后,web 和 db 容器将在同一个网络中创建,并且可以相互通信。例如,Web 容器可以通过使用主机名 db 来访问数据库。
Docker Compose 创建一个所谓的“桥接网络”,所有容器默认都会自动加入该网络(除非另有配置)。在这个网络内,容器可以通过服务名称相互访问,这简化了服务的配置,并确保了网络的可访问性。
补充说明
标准网络在后台创建,无需额外配置。然而,如果你需要更多控制权,可以在 docker-compose.yml 文件中定义自定义网络。这在需要将不同服务分配到不同网络时非常有用。