Linux下用Docker Compose管理多容器应用的核心是编写docker-compose.yml文件并执行相应命令:先安装二进制版docker-compose,再定义version、services、networks、volumes等字段,最后用up、ps、restart、down、exec等命令统一管控服务。
Linux 下用 Docker Compose 管理多容器应用,核心是写好 docker-compose.yml 文件,再用几条命令启动、停止、查看——不依赖手动逐个运行容器,也不用记一堆 docker run 参数。
Docker Compose 默认不随 Docker 安装,需单独获取。推荐使用官方二进制方式(稳定且版本可控):
docker-compose 二进制文件(如 docker-compose-linux-x86_64)docker-compose,赋予可执行权限:chmod +x docker-compose
/usr/local/bin/,确保全局可用项目目录下新建 docker-compose.yml,这是整个编排的“蓝图”,定义服务、网络、卷等。
YAML 格式敏感,注意缩进(必须用空格,不能用 Tab)。常用字段包括:
'3.8' 或更高web、db,内含 image、ports、volumes、environment 等db 可直接被 web 用 db:5432 访问)示例片段:version: '3.8'
services:
web:
image: nginx:alpine
ports: ["8080:80"]
depends_on: [db]
db:
image: postgres:14
environment:
POSTGRES_PASSWORD: example
docker-compose up -d(-d 后台运行)docker-compose ps 或 docker-compose logs -f web(实时看某服务日志)docker-compose restart db
docker-compose down(删容器、网络;加 -v 可删关联卷)docker-compose exec web sh(类似 docker exec -it sh )同一套 docker-compose.yml 可适配不同环境:
.env 文件定义变量(如 DB_HOST=db),YAML 中用 ${DB_HOST} 引用-f 指定多个文件组合,例如:docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d,后者覆盖生产相关配置scale(如 web:3)快速扩缩容,适合测试负载场景基本上就这些。写清楚服务依赖和端口映射,再配合几个命令,就能稳稳管住多个容器了。