Compose CLI 環境変数¶
Docker Compose コマンドラインでの挙動を、いくつかの環境変数で設定できます。
DOCKER_
で始まる環境変数は、Docker コマンドラインでの設定に使うだけでなく、 Docker Compose のコマンドラインでも同様に使います。 docker-machine
を使う場合は、 eval "$(docker-machine env my-docker-vm)"
コマンドによって、適切な値を環境変数に指定します(この例では、 my-docker-vm
は作成する仮想マシン名です)。
注釈
環境変数のいくつかは 環境ファイル でも設定できます。
COMPOSE_PROJECT_NAME¶
プロジェクト名を設定します。このプロジェクト名としての値とサービス名が、起動するコンテナの名前に付けられます。たとえば、プロジェクト名は myapp
で、 db
と web
という2つのサービスがあるとすると、Compose は myapp_db_1
と myapp_web_1
という名前のコンテナを個々に起動します。
この設定はオプションです。 COMPOSE_PROJECT_NAME
の指定が無ければ、デフォルトではプロジェクトがあるディレクトリ名をプロジェクト名として扱います。 -p
コマンドラインのオプション もご覧ください。
COMPOSE_FILE¶
Compose ファイルのパスを指定します。指定が無ければ、Compose は現在のディレクトリ内で docker-compose.yml
という名前のファイルを探します。このファイルが見つからなければ、見つかるまで継続して親ディレクトリを探します。
この値には、 :
、 Windows では ;
)を使って、複数の Compose ファイルを指定できます。たとえば、 COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml
とします。パス区切り文字は COMPOSE_PATH_SEPARATOR
を使ってカスタマイズもできます。
COMPOSE_PROFILES¶
有効にしたいアクティブなプロファイルを指定します。 COMPOSE_PROFILES=frontend
で docker-compose up
を実行すると、プロファイル frontend
のサービスと、プロファイルの指定がないサービスを起動します。
カンマ記号を区切りに使い、複数のプロファイルを指定できます。つまり、 COMPOSE_PROFILES=frontend,debug
とは、 frontend
と debug
のプロファイルを有効化します。
compose/profile と、 --profile
コマンドラインのオプション もご覧ください。
COMPOSE_API_VERSION¶
Docker API のリクエストをサポートしているのは、特定のバージョンを報告するクライアントだけです。 docker-compose
を使う時に client and server don't have same version
のエラーが出た場合は、この環境変数を使って回避できます。バージョンの値を、サーバのバージョンと一致するように指定します。
この値の設定が想定している場面とは、クライアントとサーバ間のバージョンが一致しなくても、一時的に実行が必要な場合に、その回避策として使うためです。たとえば、クライアントは更新したとしても、サーバの更新は後回しにしたい場合です。
この変数を設定して実行すると、適切な Docker 機能の妨げとなる不整合が分かっています。 Docker クライアントとサーバのバージョンに依存する機能は、確実に失敗します。そのため、この変数を使った実行とは、回避策としてのみの実行を意図したものであり、公式にサポートされません。
これを指定して実行中に問題が発生した場合は、サポートに問い合わせる前に、(クライアントやサーバのバージョンを)更新して設定を削除した後でも、問題が解決しないかどうかをご確認ください。
DOCKER_HOST¶
docker
デーモンの URL を指定します。Docker クライアントでは、デフォルトは unix:///var/run/docker.sock
です。
DOCKER_TLS_VERIFY¶
空の文字列以外で何かを指定した場合、 docker
デーモンとの TLS 通信を有効にします。
DOCKER_CERT_PATH¶
TLS 認証で使う設定ファイル ca.pem
、 cert.pem
、 key.pem
のパスを指定します。デフォルトは ~/.docker
です。
COMPOSE_HTTP_TIMEOUT¶
Docker デーモンに対するリクエストが固まった(
COMPOSE_TLS_VERSION¶
docker
デーモンとの TLS 通信に使う TLS バージョンを設定します。サポートしている値は TLSv1
、 TLSv1_1
、 TLSv1_2
です。
COMPOSE_CONVERT_WINDOWS_PATHS¶
ボリュームの定義でのパス指定を、 Windows 風から Unix 風に転換します。Windows 版の Docker Machine を使うユーザは、常に設定すべきでしょう。デフォルトは 0
です。サポートしている値は、有効化が true
か 1
、無効化は false
か 0
です。
COMPOSE_PATH_SEPARATOR¶
設定すると、この値を COMPOSE_FILE
環境変数でのパス区切り文字として使います。
COMPOSE_FORCE_WINDOWS_HOST¶
設定すると、ボリューム定義に 短い書式 を使う場合、UNIX ベースのシステム上で Compose を実行していたとしても、ホスト上のパスは Windows のパスとして想定します。サポートしている値は、有効化が true
か 1
、無効化は false
か 0
です。
COMPOSE_IGNORE_ORPHANS¶
設定すると、プロジェクト用に孤立したコンテナを検出しません。サポートしている値は、有効化が true
か 1
、無効化は false
か 0
です。
COMPOSE_PARALLEL_LIMIT¶
Compose が並列に実行できる処理数の上限を指定します。デフォルトの値は 64
です。 2
未満は指定できません。
COMPOSE_INTERACTIVE_NO_CLI¶
設定すると、Compose は Docker CLI を使っての双方向な run
と exec
操作を試みません。Windows 上の CLI で先述の処理が必要だとしても、このオプションは使えません。
COMPOSE_DOCKER_CLI_BUILD¶
イメージ構築に使う Compose の Python クライアントか、ネイティブな docker CLI の場所を市営します。デフォルトは、構築に docker
CLI を使うので、構築の処理には BuildKit が使えます。
COMPOSE_DOCKER_CLI_BUILD=0
と指定すると、ネイティブな構築を無効化するため、内蔵の Python クライアントを使って構築します。
関連情報¶
Compose ファイルのリファレンス
参考
- Compose CLI environment variables