学习优先级:★★★★★

易用性:★★★★☆

Docker Compose 允许我们定义特定的网络,以安全地控制容器之间的通信流量。

以下是一个示例,展示了如何在 Docker Compose 中设置自定义网络。

示例代码

docker-compose.yml

version: '3.7'

services:
  app:
    image: myapp
    networks:
      - frontend

  db:
    image: postgres
    networks:
      - backend

networks:
  frontend:
  backend:

执行结果

运行此配置后,app 和 db 容器分别位于不同的网络(frontend 和 backend)中。

通过定义不同的网络,我们可以控制容器之间的通信。同一网络中的容器可以相互通信,而不同网络中的容器则不能。这提高了安全性并保护了敏感数据。

补充说明

需要注意的是,如果未定义其他网络,Docker Compose 默认会为所有容器创建一个“bridge”网络。使用自定义网络不仅可以提高安全性,还可以通过更有效地管理数据流量来提高性能。