学习优先级:★★★★★
易用性:★★★★☆
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”网络。使用自定义网络不仅可以提高安全性,还可以通过更有效地管理数据流量来提高性能。