多容器协作靠 compose 一份文件描述,一条 up 全起来,比手敲一堆 docker run 强太多。
示例配置
version: "3.8"
services:
web:
build: .
ports: ["80:80"]
depends_on: [db]
db:
image: postgres:16
volumes: ["pgdata:/var/lib/postgresql/data"]
volumes:
pgdata:
要点速览
- services 定义每个容器,depends_on 表明启动顺序。
- 用命名 volume 持久化数据库,数据不随容器没。
- 调环境改 yaml 即可,可进版本库团队共享。
compose 把「怎么起这套服务」写进文件,环境一致性的问题就消失了。