Linux Docker Compose使用说明_Linux管理多容器编排方式

2次阅读

linux下用docker Compose管理多容器应用的核心是编写docker-compose.yml文件并执行相应命令:先安装二进制版docker-compose,再定义version、services、networks、volumes等字段,最后用up、ps、restart、down、exec等命令统一管控服务。

Linux Docker Compose使用说明_Linux管理多容器编排方式

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,这是整个编排的“蓝图”,定义服务、网络、卷等。

编写 docker-compose.yml 关键点

YAML 格式敏感,注意缩进(必须用空格,不能用 Tab)。常用字段包括:

Linux Docker Compose使用说明_Linux管理多容器编排方式

Health AI健康云开放平台

专注于健康医疗垂直领域的AI技术开放平台

Linux Docker Compose使用说明_Linux管理多容器编排方式 113

查看详情 Linux Docker Compose使用说明_Linux管理多容器编排方式

  • version:指定 Compose 文件格式版本,生产环境建议用 '3.8' 或更高
  • services:每个子项是一个容器服务,如 webdb,内含 imageportsvolumesenvironment
  • networks:定义自定义网络,让服务间通过服务名互通(如 db 可直接被 webdb:5432 访问)
  • volumes:声明命名卷或绑定挂载,用于持久化数据或共享配置

示例片段:

version: '3.8'<br>services:<br>  web:<br>    image: nginx:alpine<br>    ports: ["8080:80"]<br>    depends_on: [db]<br>  db:<br>    image: postgres:14<br>    environment:<br>      POSTGRES_PASSword: example

常用操作命令(在 docker-compose.yml 同级目录执行)

  • 启动全部服务docker-compose up -d-d 后台运行)
  • 查看运行状态docker-compose psdocker-compose logs -f web(实时看某服务日志)
  • 重启某个服务docker-compose restart db
  • 停止并清理docker-compose down(删容器、网络;加 -v 可删关联卷)
  • 进入容器调试docker-compose exec web sh(类似 docker exec -it <id> sh</id>

进阶提示:环境隔离与复用

同一套 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)快速扩缩容,适合测试负载场景

基本上就这些。写清楚服务依赖和端口映射,再配合几个命令,就能稳稳管住多个容器了。

text=ZqhQzanResources