Docker Compose常用命令
1. 启动服务
docker-compose up
- 作用:创建并启动所有服务的容器。如果镜像不存在,会先尝试拉取镜像;如果指定了构建上下文,会先构建镜像。
- 常用选项:
-
-d
:以守护进程模式在后台运行容器。--build
:在启动容器前先构建服务的镜像。--force-recreate
:强制重新创建容器,即使配置和镜像没有变化。
- 示例:
# 在前台启动所有服务
docker-compose up
# 在后台启动所有服务
docker-compose up -d
# 在后台启动所有服务,并重新构建镜像
docker-compose up -d --build
2. 停止服务
docker-compose down
- 作用:停止并删除由
docker-compose up
创建的容器、网络和数据卷(如果配置了--volumes
选项)。 - 常用选项:
-
--volumes
:删除与服务关联的匿名卷和命名卷。--rmi
:删除镜像,type
可以是all
(删除所有镜像)或local
(删除没有标签的镜像)。
- 示例:
# 停止并删除所有容器和网络
docker-compose down
# 停止并删除所有容器、网络和数据卷
docker-compose down --volumes
3. 构建镜像
docker-compose build
- 作用:构建或重新构建服务的镜像。
- 常用选项:
-
--no-cache
:构建镜像时不使用缓存。--pull
:在构建前拉取基础镜像的最新版本。
- 示例:
# 构建所有服务的镜像
docker-compose build
# 构建指定服务的镜像
docker-compose build web
# 构建所有服务的镜像,不使用缓存
docker-compose build --no-cache
4. 查看服务状态
docker-compose ps
- 作用:列出由
docker-compose
管理的所有容器的状态。 - 示例:
# 查看所有服务的容器状态
docker-compose ps
# 查看指定服务的容器状态
docker-compose ps web
5. 查看服务日志
docker-compose logs
- 作用:查看服务的日志输出。
- 常用选项:
-
-f
:跟踪日志输出,类似于tail -f
。--tail
:仅显示日志的最后N
行。
- 示例:
# 查看所有服务的日志
docker-compose logs
# 实时跟踪指定服务的日志
docker-compose logs -f web
# 查看指定服务的最后 50 行日志
docker-compose logs --tail 50 web
6. 重启服务
docker-compose restart
- 作用:重启正在运行的服务容器。
- 常用选项:
-
-t
:指定重启前停止容器的等待时间(秒),默认是 10 秒。
- 示例:
# 重启所有服务
docker-compose restart
# 重启指定服务
docker-compose restart web
# 重启指定服务,设置停止等待时间为 20 秒
docker-compose restart -t 20 web
7. 停止服务
docker-compose stop
- 作用:停止正在运行的服务容器。
- 常用选项:
-
-t
:指定停止容器的等待时间(秒),默认是 10 秒。
- 示例:
# 停止所有服务
docker-compose stop
# 停止指定服务
docker-compose stop web
# 停止指定服务,设置等待时间为 20 秒
docker-compose stop -t 20 web
8. 启动已停止的服务
docker-compose start
- 作用:启动已经停止的服务容器。
- 示例:
# 启动所有已停止的服务
docker-compose start
# 启动指定已停止的服务
docker-compose start web
9. 验证配置文件
docker-compose config
- 作用:验证
docker-compose.yml
文件的语法是否正确,并显示解析后的配置。 - 示例:
docker-compose config
10. 执行命令
docker-compose exec
- 作用:在运行的容器中执行命令。
- 示例:
# 在指定服务的容器中执行命令
docker-compose exec web bash
这些命令基本涵盖了 Docker Compose 日常使用的大部分场景,通过它们可以方便地管理多容器应用。