学习优先级:★★★★★

易用性:★★★★☆

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 文件中定义自定义网络。这在需要将不同服务分配到不同网络时非常有用。