学习优先级:★★★★☆
易用性:★★★☆☆
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 集群。