docker compose 命令选项详解

Docker Compose 的命令选项可分为全局选项(对所有 Compose 命令生效)和常用命令及对应选项(针对具体操作,如 up down 等)。以下结合实际使用场景,详解核心选项:

一、全局选项(所有命令通用)

全局选项需放在 docker-compose 之后、具体命令(如 up)之前,用于基础配置。

选项全称含义示例
-f --file 指定 Compose 配置文件路径(默认找当前目录的 docker-compose.yml 或 docker-compose.yaml 用 app.yml 启动:
docker-compose -f app.yml up
-p --project-name 指定项目名(默认用配置文件所在目录名,影响容器 / 网络 / 卷的命名前缀) 项目名设为 test
docker-compose -p test up
--profile 指定启动的配置文件 “Profiles”(用于区分不同环境的配置,如开发 / 生产) 启动 dev 环境配置:
docker-compose --profile dev up
--verbose 显示详细日志(调试时用,会输出更多底层操作信息) docker-compose --verbose up

二、常用命令及核心选项

1. docker-compose up(创建并启动容器)

最常用的启动命令,核心选项如下:

选项含义场景
-d 后台运行容器(“detached” 模式) 启动后不占用终端,适合生产环境
--build 启动前重新构建服务的镜像(即使镜像已存在) 代码或 Dockerfile 修改后,确保用新镜像启动
--force-recreate 强制重新创建容器(即使配置没变化) 需重置容器状态时使用(如清理缓存)
--no-start 只创建容器,不启动(后续可手动 start 需先检查容器配置,再手动启动
--scale <服务名>=<数量> 扩展服务实例数量(需服务未指定 container_name 临时扩展 web 服务到 3 个实例:
docker-compose up -d --scale web=3

2. docker-compose down(停止并删除容器 / 网络)

用于彻底清理项目相关资源,选项如下:

选项含义场景
--volumes 同时删除 Compose 中定义的 “命名卷”(数据卷) 需彻底清理数据(如测试环境重置)
--rmi <类型> 删除相关镜像(all:所有服务镜像;local:仅本地构建的镜像) 清理无用镜像,释放空间
--remove-orphans 删除未在 Compose 文件中定义的 “孤儿” 容器(如旧版本服务) 避免残留未配置的旧容器

3. docker-compose build(构建服务镜像)

单独构建镜像,不启动容器,选项如下:

选项含义场景
--no-cache 构建时不使用缓存(强制重新下载依赖、执行所有步骤) 依赖更新后,确保用最新资源构建
--pull 构建前拉取基础镜像的最新版本(如 FROM ubuntu 拉最新版) 确保基础镜像为最新,避免漏洞
<服务名> 指定只构建某个服务的镜像(默认构建所有服务) 只修改了 web 服务,仅构建它:
docker-compose build web

4. docker-compose logs(查看容器日志)

查看服务日志,常用选项:

选项含义场景
-f 实时跟踪日志(类似 tail -f 实时监控服务运行输出
--tail <行数> 只显示最后 N 行日志 快速查看最近日志:
docker-compose logs --tail 100 web
-t 日志中显示时间戳 定位日志产生的具体时间

5. docker-compose restart(重启容器)

重启运行中的容器,选项:

选项含义场景
-t <秒数> 停止容器前的等待时间(默认 10 秒) 给服务预留退出时间(如保存数据)

6. docker-compose ps(查看容器状态)

显示项目中容器的运行状态,选项:

选项含义场景
-a 显示所有容器(包括已停止的) 查看是否有异常停止的容器
--services 只显示服务名称(不显示容器细节) 快速确认项目包含的服务

总结

核心高频选项集中在 up(启动)、down(清理)、build(构建)这三个命令,全局选项中 -f(指定文件)和 -p(指定项目名)是多环境管理的常用工具。使用时可通过 docker-compose <命令> --help 查看完整选项(如 docker-compose up --help)。
posted @ 2025-07-17 09:34  郭慕荣  阅读(101)  评论(0)    收藏  举报