Docker Compose 入门:用一个 YAML 文件管理多容器应用
一、Compose 是什么
在实际开发中,一个应用往往由多个容器组成,例如 Web 服务加 Redis 缓存。如果每个容器都手写 docker run 命令,参数又长又容易出错。Docker Compose 是 Docker 官方提供的多容器编排工具,只需要一个 YAML 文件,就能描述所有服务、网络和数据卷,并用一条命令完成启动与销毁。
二、示例:web + redis
新建 compose.yml,内容如下:
services:
web:
image: nginx:alpine
ports:
- "8080:80"
depends_on:
- redis
redis:
image: redis:7-alpine
volumes:
- redis-data:/data
volumes:
redis-data:
这里定义了两个服务:web 使用 nginx 并把容器 80 端口映射到宿主机 8080;redis 使用官方镜像,并通过命名卷持久化数据。同一个 Compose 项目里的服务共用一个默认网络,因此 web 可以直接用服务名 redis 访问缓存。
三、常用命令
docker compose up -d:后台创建并启动所有服务。
docker compose ps:查看各服务的运行状态。
docker compose logs -f web:持续查看 web 服务日志。
docker compose down:停止并删除容器和网络,加 -v 可同时删除数据卷。
四、实用小技巧
1. 用 .env 文件保存端口、镜像版本等变量,在 compose.yml 中以 ${VAR} 引用,方便在不同环境间切换。
2. depends_on 只保证启动顺序,不保证服务已就绪,关键依赖建议配合 healthcheck 使用。
3. 修改配置后执行 docker compose up -d 即可只重建发生变化的服务;数据库类服务务必挂载数据卷,避免 down 之后数据丢失。
掌握以上内容,就可以用一个文件把本地开发环境一键拉起,大幅减少环境配置的重复劳动。
- 点赞
- 收藏
- 关注作者
评论(0)