概要
docker-composeでビルドプロセスにてsecretsを利用する際にうまく設定できなくてハマったのでメモ
詳細
1. ハマりポイント1 environmentを利用する場合はまずdocker-compose buildするホストで環境変数として設定しておき同じ名前を設定する必要がある。
以下の例だとホスト側の環境変数で DB_PASSWORD_OTHER
を設定しておく必要がある。
書き方は公式のサンプルと合わせた。
https://docs.docker.com/compose/use-secrets/#advanced
version: '3.8' services: my_app: build: context: ./my_app secrets: - db_password_env secrets: db_password_env: environment: DB_PASSWORD_ENV
2. ハマりポイント2 secretsの定義をbuildセクションに記載しないといけない
buildセクションと同階層に記載してしまうとランタイムでのみsecretsが有効になる。buildセクションでネストになるように定義しないといけない。