docker-compose コマンド概要¶
このページは docker-compose
コマンドの使い方に関する情報を提供します。この情報はコマンドライン上で docker-compose --help
を使っても確認できます。
Define and run multi-container applications with Docker.
Usage:
docker-compose [-f=<arg>...] [options] [COMMAND] [ARGS...]
docker-compose -h|--help
Options:
-f, --file FILE Specify an alternate compose file (default: docker-compose.yml)
-p, --project-name NAME Specify an alternate project name (default: directory name)
--verbose Show more output
-v, --version Print version and exit
Commands:
build Build or rebuild services
config Validate and view the compose file
create Create services
down Stop and remove containers, networks, images, and volumes
events Receive real time events from containers
help Get help on a command
kill Kill containers
logs View output from containers
pause Pause services
port Print the public port for a port binding
ps List containers
pull Pulls service images
restart Restart services
rm Remove stopped containers
run Run a one-off command
scale Set number of containers for a service
start Start services
stop Stop services
unpause Unpause services
up Create and start containers
version Show the Docker-Compose version information
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/web
ports:
- "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/