docker-composeで環境変数を使用してみました。
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
container_name: "mysql_${ENV_NAME:-default_name}" #ここがポイント
environment:
- TZ=Asia/Tokyo
- MYSQL_ROOT_PASSWORD=pass
ENV_NAME設定なしの場合
$ docker-compose up -d
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------
mysql_default_name docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
ENV_NAME設定ありの場合
コンテナ名が変わりましたね。
$ export ENV_NAME=custom_name
$ docker-compose up -d
$ docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------
mysql_custom_name docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
公式ドキュメントにも記載があります。
https://docs.docker.com/compose/compose-file/#interpolation
以上です。