はじめに
前回の記事ではFlowをコンテナ上で動かすためにdockerファイルを作成し、アプリケーションが無事に起動するところまでを確認しました。
今回はコンテナ名をつけるためにdocker-compose.yamlに修正を加えました。
軽い修正ですが、備忘のために残そうと思います。
コンテナ名をつけたい
docker-compose.yamlで立ち上げたコンテナに名前を付けることで、似たようなサービスが増えた際にも変更を最小にしたいと思いました。
docker-compose.yaml
container_nameで名前を指定しました。
services:
db:
image: mysql:8.0.36
volumes:
- db_data3:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: dummy
MYSQL_DATABASE: dummy
container_name: mysql-for-application
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 1s
timeout: 5s
retries: 5
Container/Settings.yaml
設定ファイルでは、dbnameをコンテナ名に変更しています。
Neos:
Flow:
persistence:
backendOptions:
driver: 'pdo_mysql'
charset: 'utf8mb4'
host: 'db' # Docker service name
dbname: 'mysql-for-application' # Database name
user: 'dummy' # MySQL user
password: 'dummy' # MySQL password
port: '3306' # MySQL port
driverOptions:
1002: 'SET SESSION wait_timeout=5'
動作確認
コンテナを起動してみると、指定した名前でコンテナが立ち上がりました。
> docker compose up -d
[+] up 3/3
✔ Network quickstart_default Created 0.0s
✔ Container mysql-container Healthy 1.8s
✔ Container quickstart-app-1 Created 0.0s
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7b7438478d5d quickstart-app "/usr/local/bin/entr…" 7 seconds ago Up 5 seconds 0.0.0.0:8082->8081/tcp, [::]:8082->8081/tcp quickstart-app-1
e0d26b329bf2 mysql:8.0.36 "docker-entrypoint.s…" 7 seconds ago Up 6 seconds (healthy) 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp mysql-container
おわりに
今回はdocker-compose.yaml内でコンテナに任意の名前を付けてみました。
DBがふえてサービスのタグ名を変えたい場合でもこれで対応できそうです。
ここまでご覧いただきありがとうございました!

