Posted at

Docker Compose で起動するコンテナ名を変更する

More than 1 year has passed since last update.

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

フォルダ名とサービス名の両方が他とバッティングする可能性がある場合などに使えるかもしれません。


参考