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 プロファイルを有効化 |
--progress <モード> | auto、tty、plain、quiet |
--dry-run | 変更を適用せず、実行内容だけ表示 |
--service <名前> | restart/stop/start を 1 つのサービスに限定 |
compose up は --detach(デフォルト)または --attach を受け取ります。現在の attach 出力はプロセス終了後に返り、リアルタイムログではありません。
compose remove(compose down の別名)は破壊的なので --yes が必須です。--remove-volumes は Compose が認識した volume の削除を要求しますが、全 named volume の列挙を保証しません。
Pull
dockerman compose pull myproject --json
dockerman compose pull myproject --service web --jsonレイヤごとに 1 つの NDJSON エンベロープで pull 進捗を流します。機械可読な出力には --json、人間向け進捗行には省略してください。
compose ファイルからデプロイ
dockerman compose deploy myproject ./docker-compose.yml \
--env DATABASE_URL=postgres://... \
--env LOG_LEVEL=infodeploy はプロジェクト名と compose ファイルを取ります。daemon は一時ディレクトリで実行するため、相対 build context、bind mount、env file は失敗する可能性があります。絶対パスか既存プロジェクトの up を使ってください。
deploy と up は異なる daemon RPC を使います。前者はファイル内容を送り、後者は既存プロジェクトを操作します。