命令行
Compose
管理 Docker Compose 项目、从 compose 文件部署、并在 CLI 中流式查看 pull/up 进度。
compose 命令组针对已存在的 Compose 项目(即包含 com.docker.compose.project 标签的资源)操作,也支持从 compose 文件直接部署新项目。
Compose 命令需要 Docker 运行时。所选主机为 Podman 时不可用。
列出项目
dockerman compose list
dockerman compose list --pretty返回项目名、容器数、状态、根路径。
生命周期
dockerman compose up myproject --detach
dockerman compose stop myproject
dockerman compose start myproject
dockerman compose restart myproject --service web
dockerman compose remove myproject --remove-volumes --yesup、stop、start、restart 都接受标准的全局参数:
| 参数 | 用途 |
|---|---|
--working-dir <路径> | 覆盖项目工作目录 |
--config-files <路径> | 逗号分隔的 compose 文件列表 |
--env-file <路径> | 覆盖 env 文件 |
--profile <名称> | 启用 Compose profile |
--progress <模式> | auto、tty、plain、quiet |
--dry-run | 仅打印将要执行的操作,不实际修改 |
--service <名称> | 将 restart/stop/start 限制为单个服务 |
compose up 接受 --detach(默认)或 --attach。当前 attach 输出在进程结束后返回,不是实时日志流。
compose remove(别名 compose down)是破坏性操作,必须传 --yes。--remove-volumes 会请求 Compose 删除其识别到的卷,但不保证枚举所有项目命名卷。
Pull
dockerman compose pull myproject --json
dockerman compose pull myproject --service web --json每层一帧 NDJSON 封装的拉取进度。--json 输出适合机器解析,省略它则得到人类友好的进度行。
从 compose 文件部署
dockerman compose deploy myproject ./docker-compose.yml \
--env DATABASE_URL=postgres://... \
--env LOG_LEVEL=infodeploy 接受项目名 + compose 文件路径。daemon 会在临时目录中执行该文件,因此相对 build context、bind mount 或 env 文件路径可能失效;请改用绝对路径或已有项目的 up。
deploy 与 up 使用不同的 daemon RPC。前者上传文件内容,后者操作已有项目。