学习优先级:★★★★☆

易用性:★★★☆☆

Docker Compose 支持多种网络驱动程序,以创建不同的网络拓扑。这有助于控制容器之间的通信,或隔离容器与外部网络。

在 Docker Compose 中,可以使用不同的网络驱动程序来管理网络配置。常见的驱动程序包括 bridge、host 和 overlay。以下示例展示了如何在 docker-compose.yml 文件中使用 bridge 驱动程序。

示例代码

version: '3'

services:
  web:
    image: nginx
    networks:
      - frontend

  db:
    image: mysql
    networks:
      - backend

networks:
  frontend:
    driver: bridge  # 使用 bridge 驱动程序为 Web 服务创建网络
  backend:
    driver: bridge  # 使用 bridge 驱动程序为 DB 服务创建网络

执行结果

运行此 Compose 文件后,将创建两个独立的网络(frontend 和 backend),Web 和 DB 容器分别在各自的网络中运行并相互隔离。NGINX 在 frontend 网络中运行,MySQL 在 backend 网络中运行。

在 Docker Compose 中,可以通过指定网络驱动程序来控制网络拓扑。bridge 驱动程序适用于同一宿主机上的容器通信,而 overlay 驱动程序用于跨多个 Docker 守护进程的分布式网络,通常用于 Swarm 或 Kubernetes 集群。

补充说明

Docker 提供了多种网络驱动程序:

  • bridge:默认用于同一宿主机上的容器通信。
  • host:使用宿主机的网络栈。
  • overlay:用于跨多个 Docker 守护进程的分布式网络,常用于 Swarm 或 Kubernetes 集群。