docker-compose コマンド概要

このページは docker-compose コマンドの使い方に関する情報を提供します。この情報はコマンドライン上で docker-compose--help を使っても確認できます。

Docker で使う複数コンテナ・アプリケーションの定義と実行
使い方: docker-compose [-f=<引数>...][オプション][コマンド][引数...] docker-compose -h|--help
オプション: -f, --file FILE 別の compose ファイルを指定 (デフォルト: docker-compose.yml) -p, --project-name NAME 別のプロジェクト名を指定 (デフォルト: directory name) --verbose 詳細情報を表示 -v, --version バージョンを表示して終了 -H, --host HOST 接続先のデーモン・ソケット --tls TLS を使う;--tlsverify の指定も含む --tlscacert CA_PATH この CA で署名した証明書のみ信頼 --tlscert CLIENT_CERT_PATH TLS 証明書ファイルへのパス --tlskey TLS_KEY_PATH TLS 鍵ファイルへのパス --tlsverify TLS を使いリモートを認証 --skip-hostname-check クライアントの証明書で指定されたデーモンのホスト名を確認しない。 (たとえば、docker ホストが IP アドレスの場合)
コマンド: build サービスの構築または再構築 config compose ファイルの確認と表示 create サービスの作成 down コンテナ・ネットワーク・イメージ・ボリュームの停止と削除 events コンテナからリアルタイムにイベントを受信 help コマンド上でヘルプを表示 kill コンテナを kill(強制停止) logs コンテナの出力を表示 pause サービスを一時停止 port ポートに割り当てる公開用ポートを表示 ps コンテナ一覧 pull サービス用イメージの取得 restart サービスの再起動 rm 停止中のコンテナを削除 run 1度だけコマンドを実行 scale サービス用コンテナの数を指定 start サービスの開始 stop サービスの停止 unpause サービスの再開 up コンテナの作成と開始 version Docker Compose のバージョン情報を表示

docker-compose は Docker Compose のバイナリです。このコマンドを使い Docker コンテナ上の複数のサービスを管理します。

Compose 設定ファイルの場所を指定するには、 -f フラグを使います。複数の -f 設定ファイルを指定できます。複数のファイルをシチエしたら、Compose は1つの設定ファイルに連結します。Compose はファイルを指定した順番で構築します。後に続くファイルは、既に実行したものを上書き・追加します。

たとえば、次のようなコマンドラインを考えます。

$ docker-compose -f docker-compose.yml -f docker-compose.admin.yml run backup_db`

docker-compose.yml ファイルは webapp サービスを指定しています。

webapp:image:examples/webports:-"8000:8000"volumes:-"/data"

また、 docker-compose.admin.yml ファイルで同じサービスを指定したら、以前のファイルで指定した同じフィールドの項目があれば、それを上書きします。新しい値があれば、 webapp サービスの設定に追加します。

webapp:build:.environment:-DEBUG=1

-f- (ダッシュ)をファイル名として指定したら、標準入力から設定を読み込みます。設定に標準入力を使う場合のパスは、現在の作業用ディレクトリからの相対パスとなります。

-f フラグはオプションです。コマンドラインでこのフラグを指定しなければ、Compose は現在の作業用ディレクトリと docker-compose.yml ファイルと docker-compose.override.yml ファイルのサブディレクトリを探します。もし、2つのファイルを指定したら、1つの設定ファイルに連結します。 この時、 docker-compose.yml ファイルにある値は、 docker-compose.override.yml ファイルで設定し値で上書きします。

詳しくは COMPOSE環境変数 をご覧ください。

各設定ファイルはプロジェクト名を持っています。 -p フラグでプロジェクト名を指定できます。フラグを指定しなければ、Compose は現在のディレクトリの名前を使います。詳細は COMPOSE_PROJECT環境変数 をご覧ください。

次はどこへ

参考

Overview of docker-compose CLI
https://docs.docker.com/compose/reference/overview/