Docker Composeのprofileを使う
既存のDocker Composeの設定を見ていると、profileという指定があることに気づきました。というか、正確にはAIが作ったcomposeの設定にありました。今回はそれを調べた時のメモを共有します。
とりあえず公式ドキュメントを知りたいと思いますので、公式へのリンクを貼ります。
https://docs.docker.com/compose/how-tos/profiles
基本的には公式を見てもらえればいいと思いますが、私の読みやすいようにノートを書いておきます。
profileって何?
docker-compose.yaml(compose.yaml)で、profileを指定できます。そうすると起動時にprofileを指定しないと、起動しないようになります。
具体例を見ないとわからないので、具体例を示します。AIが出してきたような設定は次のような設定です。
services:
web:
build: .
db:
image: mysql
test-unit:
build:
context: .
dockerfile: Dockerfile.test
command: pytest
profiles: [test]
実際のところ、 Dockerfile.test の中にテスト用のライブラリがインストール・セットアップする処理が含まれています。
上記のように定義した上で、以下のように実行すると、 pytest が実行されます。
docker compose run --rm test-unit