デフォルト
docker compose buildなどを実行する際に特に何も設定していない場合にはカレントディレクトリ名がプロジェクト名となります。
例えばカレントディレクトリがsample-appであった場合、プロジェクト名もsample-appとなります。
プロジェクト名の設定方法
プロジェクト名は以下の方法で設定できます。
-pオプションを使用
docker composeコマンドを実行する際に-pまたは--project-nameを使用することでプロジェクト名を指定できます。
ターミナル
$ docker compose -p プロジェクト名 build
$ docker compose --project-name プロジェクト名 build
環境変数で設定する
環境変数COMPOSE_PROJECT_NAMEにプロジェクト名を設定することでプロジェクト名を指定できます。
ターミナル
$ COMPOSE_PROJECT_NAME=プロジェクト名 docker compose build
または
.env
COMPOSE_PROJECT_NAME=プロジェクト名
ターミナル
$ docker compose build
トップレベルのnameで設定
compose.ymlに以下のように記述することでプロジェクト名を指定できます。
compose.yml
name: プロジェクト名
services:
db:
image: mysql:8.0.30
<以下略>
補間
compose.ymlでプロジェクト名を補間するためには${COMPOSE_PROJECT_NAME}のように記述します。
compose.yml
name: プロジェクト名
services:
api:
build:
context: .
dockerfile: ./docker/api/Dockerfile
volumes:
- .:/${COMPOSE_PROJECT_NAME}
優先順位
複数の方法でプロジェクト名を指定した場合、以下の順位で適用されます。
-
-pオプションを使用 -
COMPOSE_PROJECT_NAME=プロジェクト名 docker compose buildを実行 -
.envファイルにCOMPOSE_PROJECT_NAME=プロジェクト名を記述 - トップレベルの
nameプロパティ