0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker Composeのオプション一覧と解説

Posted at

Docker Composeのオプション一覧と解説

Docker Composeは、docker-composeコマンドを使用して複数のコンテナを管理するツールだ。このコマンドには、さまざまなオプションがあり、それぞれの目的に応じて活用できる。以下では、よく使うオプションからあまり知られていないオプションまで、できる限り多くを解説する。


基本的なコマンドとオプション

Docker Composeの基本構文は次の通り。

docker-compose [COMMAND] [OPTIONS]
  • [COMMAND]: 実行するコマンド(例: up, down, build)。
  • [OPTIONS]: コマンドに付加するオプション。

1. docker-compose up

サービスをビルド・起動し、必要に応じて再作成する。

オプション

  • -d (デタッチモード):

    • バックグラウンドでコンテナを起動する。
    • 例: docker-compose up -d
  • --build:

    • 必要に応じてサービスをビルドしてから起動する。
    • 例: docker-compose up --build
  • --force-recreate:

    • 常に新しいコンテナを作成する(既存コンテナを再利用しない)。
    • 例: docker-compose up --force-recreate
  • --remove-orphans:

    • 現在のdocker-compose.ymlに定義されていない不要なコンテナを削除する。
    • 例: docker-compose up --remove-orphans
  • --scale SERVICE=NUM:

    • 指定したサービスを複数インスタンス起動する。
    • 例: docker-compose up --scale web=3

2. docker-compose down

起動中のコンテナや関連リソース(ネットワーク、ボリューム)を停止して削除する。

オプション

  • -v:

    • ボリュームも一緒に削除する。
    • 例: docker-compose down -v
  • --rmi [local|all]:

    • ローカルで作成したイメージ(local)またはすべてのイメージ(all)を削除する。
    • 例: docker-compose down --rmi all
  • --remove-orphans:

    • 現在のComposeプロジェクトに属さないコンテナを削除する。
    • 例: docker-compose down --remove-orphans

3. docker-compose build

サービスのイメージをビルドする。

オプション

  • --no-cache:

    • キャッシュを無視してイメージをビルドする。
    • 例: docker-compose build --no-cache
  • --pull:

    • ベースイメージをリモートリポジトリから最新バージョンに更新してビルドする。
    • 例: docker-compose build --pull
  • --parallel:

    • サービスを並列でビルドする。
    • 例: docker-compose build --parallel

4. docker-compose logs

コンテナのログを表示する。

オプション

  • -f (フォロー):

    • リアルタイムでログを追跡する。
    • 例: docker-compose logs -f
  • --tail=N:

    • 最後のN行だけを表示する。
    • 例: docker-compose logs --tail=100
  • SERVICE_NAME:

    • 特定のサービスのログだけを表示する。
    • 例: docker-compose logs web

5. docker-compose exec

実行中のコンテナ内でコマンドを実行する。

オプション

  • -T:

    • 擬似端末(TTY)を割り当てない。
    • 例: docker-compose exec -T web ls /var/www
  • SERVICE_NAME COMMAND:

    • 特定のサービスのコンテナでコマンドを実行する。
    • 例: docker-compose exec db mysql -u root -p

6. docker-compose ps

現在のComposeプロジェクトのコンテナの状態を表示する。

オプション

  • -q:

    • コンテナIDだけを表示する。
    • 例: docker-compose ps -q
  • SERVICE_NAME:

    • 特定のサービスに関連するコンテナだけを表示する。
    • 例: docker-compose ps web

7. その他の便利なコマンド

docker-compose restart

すべてのコンテナを再起動する。特定のサービスのみを再起動することも可能。

docker-compose restart
docker-compose restart web

docker-compose stop

コンテナを停止する(削除はしない)。

docker-compose stop

docker-compose rm

停止したコンテナを削除する。

  • -f:
    • 確認を求めずに削除する。
    • 例: docker-compose rm -f

docker-compose config

docker-compose.ymlファイルの構文を検証し、最終的な設定を出力する。

  • --services:

    • 定義されているサービス名だけを表示する。
    • 例: docker-compose config --services
  • --volumes:

    • 定義されているボリューム名だけを表示する。
    • 例: docker-compose config --volumes

8. デバッグに役立つオプション

docker-compose top

コンテナ内で実行中のプロセスを表示する。

docker-compose top

docker-compose version

Docker Composeのバージョン情報を表示する。

docker-compose version

オプション一覧まとめ

コマンド 主なオプション 説明
up -d, --build, --force-recreate コンテナの起動と再作成
down -v, --rmi, --remove-orphans コンテナと関連リソースの削除
build --no-cache, --pull, --parallel イメージのビルド
logs -f, --tail, SERVICE_NAME ログの表示
exec -T, SERVICE_NAME COMMAND コンテナ内でコマンドを実行
ps -q, SERVICE_NAME コンテナの状態を表示
restart コンテナの再起動
stop コンテナの停止
rm -f 停止したコンテナの削除
config --services, --volumes 設定の検証と表示

まとめ

Docker Composeのオプションは非常に多岐にわたるが、プロジェクト管理を効率化するために非常に役立つ。よく使うオプションを覚えておくことで、トラブルシューティングやプロジェクト管理がスムーズになる。

  • 開発中: up -d --buildlogs -fを活用。
  • 設定変更後: configで構文検証を行い、up -dで反映。
  • リソース管理: down -vrmを適宜使用。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?