docker-compose で起動したコンテナは以下のようなフォーマットでコンテナ名が付けられます。
{プロジェクト名}_{サービス名}_{連番}
-
プロジェクト名 (Prefix):
- デフォルトでは docker-compose.yml を置いているフォルダ名が使用される。
-
サービス名:
- docker-compose.yml に書いた任意の名前が使用される。
-
連番 (Suffix):
- スケールする際に連番で付与される。
例えば /hoge/foo/docker-compose.yml
に以下の YAML ファイルが置いてある状態で docker-compose up
をすると foo_web_1
, foo_redis_1
といったコンテナ名で起動します。
version: '3'
services:
web: # ←任意サービス名
build: .
ports:
- "5000:5000"
redis: # ←任意サービス名
image: "redis:alpine"
プロジェクト名 (Prefix) の部分は環境変数の COMPOSE_PROJECT_NAME
を設定することで変更することが出来ます。
以下のように起動すると piyo_web_1
, piyo_redis_1
といったコンテナ名で起動します。
cd /hoge/foo
export COMPOSE_PROJECT_NAME=piyo
docker-compose up -d
フォルダ名とサービス名の両方が他とバッティングする可能性がある場合などに使えるかもしれません。