Docker Compose 常用命令详解

Docker Compose 常用命令详解
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。它通过 docker-compose.yml 文件来管理多个容器的启动、停止、重启等操作,大大简化了容器编排工作。本文将详细介绍 Docker Compose 的常用命令,帮助你高效地管理容器应用。

1. Docker Compose 基础命令
1.1 docker compose up
启动并运行 docker-compose.yml 中定义的所有服务。

# 运行所有容器(在前台运行)
docker compose up

常见参数:

  • -d:后台运行容器。
  • --build:在启动前重新构建服务镜像。
  • --force-recreate:强制重新创建容器。

示例:

# 以后台模式启动容器,并重新构建镜像
docker compose up -d --build

1.2 docker compose down
停止并删除 docker-compose.yml 中定义的所有容器、网络和挂载卷。

# 停止并删除所有容器、网络和卷
docker compose down

常见参数:

  • --volumes:删除所有挂载的卷。
  • --rmi all:删除所有镜像。

示例:

# 停止并删除所有容器,同时删除数据卷和镜像
docker compose down --volumes --rmi all

1.3 docker compose start 和 docker compose stop

  • docker compose start:启动已经停止的容器。
  • docker compose stop:停止运行中的容器(不会删除容器)。

示例:

# 启动所有已停止的容器
docker compose start

# 停止所有正在运行的容器
docker compose stop

2. Docker Compose 服务管理命令
2.1 docker compose ps
查看当前 Compose 管理的容器状态。

# 列出所有服务的状态
docker compose ps

2.2 docker compose logs
查看服务的日志输出。

# 查看所有服务的日志
docker compose logs

常见参数:

  • -f:实时输出日志。
  • --tail n:仅显示最近 n 行日志。

示例:

# 实时查看所有服务的日志
docker compose logs -f

2.3 docker compose exec
在指定的服务容器中执行命令(适用于运行中的容器)。

# 进入某个容器的 shell 环境
docker compose exec <服务名> sh

示例:

# 进入 `web` 容器的 shell
docker compose exec web sh

2.4 docker compose run
与 exec 类似,但它会启动一个新的容器实例,而不是在已有容器上执行命令。

# 在 `web` 服务容器中启动一个交互式 shell
docker compose run web sh

3. Docker Compose 配置与调试
3.1 docker compose config
验证 docker-compose.yml 文件的语法是否正确。

docker compose config

3.2 docker compose build
构建 docker-compose.yml 文件中定义的所有服务镜像。

docker compose build 

常见参数:

  • --no-cache:不使用缓存构建。
  • --pull:强制拉取最新的基础镜像。

示例:

# 重新构建所有服务
docker compose build --no-cache

3.3 docker compose restart
重启 docker-compose.yml 中的所有容器。

docker compose restart

4. Docker Compose 容器管理
4.1 docker compose rm
删除 docker-compose.yml 相关的所有已停止容器。

docker compose rm

常见参数:

  • -f:强制删除,无需确认。
  • -v:同时删除关联的卷。

示例:

# 强制删除所有停止的容器
docker compose rm -f

4.2 docker compose scale
手动调整服务的实例数量(适用于无 deploy 关键字的情况)。

docker compose up -d --scale <服务名>=<数量>

示例:

# 启动 3 个 `web` 服务实例
docker compose up -d --scale web=3

5. 总结
Docker Compose 提供了丰富的命令来管理多容器应用,主要包括:

熟练掌握这些命令,可以让你更高效地管理 Docker 容器编排

 

posted @ 2025-05-13 14:07  郭慕荣  阅读(624)  评论(0)    收藏  举报