LoginSignup
84
97

More than 5 years have passed since last update.

Docker Compose - CLI リファレンス

Last updated at Posted at 2015-07-09

Docker Compose - CLI リファレンス

原文:Compose CLI reference
https://docs.docker.com/compose/cli/

大部分の Docker Compose コマンドは、1つまたは複数のサービスを実行するためのものです。サービスが指定されない場合、コマンドは全てのサービスを実行しようとします。

使い方に関する情報を全て表示するには、docker-compose [コマンド] --help を実行ください。

コマンド

build

サービスの構築(build)か再構築をします。

サービスは1度だけ構築されるもので、例えば compose_db です。構築後はproject_service とタグ付けされます。サービスの Dockerfile を変更するか、構築ディレクトリの内容を変更したときは、docker-compose build を実行し、再構築します。

help

ヘルプとコマンドの使い方を表示します。

kill

実行中のコンテナを強制停止するために SIGKILL シグナルを送信します。オプションで、シグナルを設定できます。例:

$ docker-compose kill -s SIGINT

logs

サービスのログ出力を表示します。

port

ポートをバインドしている公開ポート ( public port ) を表示します。

ps

コンテナの一覧です。

pull

サービス・イメージを取得します。

restart

サービスを再起動します。

rm

停止したサービス・コンテナを削除します。

run

サービスを1度だけ実行するコマンド(One-off=ワンオフ・コマンド)です。

例えば、

$ docker-compose run web python manage.py shell

このコマンドは web サービスを開始し、manage.py shell を python で実行します。デフォルトでは、既に起動中だとしても、リンクしているサービスも起動するので注意してください。

ワンオフ・コマンドは、同じ設定の新しいコンテナを、サービス向けや、ボリューム、リンクなど期待通りに作成するためのものです。run を使うと、通常のコンテナとは2つの違いがあります。

  1. コマンドは指定されたものを上書きします。そのため、docker-compose run web bash を実行すると、コンテナの web コマンド(デフォルトでは python app.py のようなもの)は bash で上書きされます。

  2. デフォルトでは既にオープンしているポートとぶつかる場合、ポートを開きません。

リンクもまた、ワンオフ・コマンドによって他のコンテナのサービスの一部として作成されます。例えば、次のように実行したとします:

$ docker-compose run db psql -h db -U docker

これはリンクされた db コンテナ(必要に応じて作成・起動されたもの)に対して、インタラクティブな PostgreSQL シェルを開くものです。

もしコンテナとリンクしたくなければ、ワンオフ・コマンドを使って起動するときに、--no-deps フラグを指定します:

$ docker-compose run --no-deps web python manage.py shell

似たようなものとして、サービスのポートを作成したりホストにマップしたくなければ、--service-ports フラグを指定します:

$ docker-compose run --service-ports web python manage.py shell

scale

サービスを実行するコンテナの数を指定します。

service=数字 の引数によって、いくつ起動するか指定します。例:

$ docker-compose scale web=2 worker=3

start

サービス用にコンテナを起動します。

stop

稼働中のコンテナを削除せずに停止します。docker-compose start コマンドを使うと再び起動できます。

up

ビルドや、作成(再作成)、起動、サービスへのコンテナのアタッチをします。

リンクされたサービスが起動していなければ、あわせて起動します。

デフォルトでは、docker-compose up を実行すると各々のコンテナの出力を合わせて表示します。それから終了(exit)すると、全てのコンテナが停止します。docker-compose up -d を実行すると、コンテナをバックグラウンドで起動し、実行したままにします。

デフォルトでは、既にサービス向けのコンテナが起動している場合、docker-compose up は停止した後に再作成します(volumes-formでマウントずみのボリュームは保存されます)。そして、docker-compose.yml を読み込み直します。コンテナを停止せずに再作成したい場合は、docker-compose up --no-recreate を使います。必要があれば、この指定により、コンテナを停止せずに起動したままにします。

オプション

--verbose

より詳細の出力を表示します。

-v, --version

バージョン番号を表示して終了します。

-f, --file ファイル名

設定を読み込むファイルを指定します。指定が無ければ、Compose は現在のディレクトリにある docker-compose.yml を探し、もしなければ、引き続いて親ディレクトリを探します。

-p, -pproject-name プロジェクト名

プロジェクトの別名を指定します(デフォルトは、現在のディレクトリ名です)。

環境変数

Compose の動作を設定する環境変数があります。

変数は DOCKER_ で始まるもので、これらは Docker コマンドライン・クライアントの設定で用いるものと同じです。もし boot2docker を使っているのであれば、eval "$(boot2docker shellinit)" を実行すると、正しい値が設定されます。

COMPOSE_PROJECT_NAME

プロジェクト名を設定するもので、Compose によって開始される全コンテナ名の先頭に付けられるます。デフォルトでは現在作業しているディレクトリの basename を使います。

COMPOSE_FILE

指定したファイルから設定を読み込みます。指定が無ければ、現在の作業ディレクトリにある docker-compose.yml を探し、もし無ければ引き続き親ディレクトリを探します。

DOCKER_HOST

Docker デーモンの URL を設定島須。Docker クライアントのデフォルトは unix://var/run/docker.sock です。

DOCKER_TLS_VERIFY

空白の文字列以外を指定すると、デーモンと TLS 通信を有効にします。

DOCKER_CERT_PATH

TLS 認証に使うファイル ca.pemcert.pemkey.pem のパスを指定します。デフォルトは ~/.docker です。

84
97
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
84
97