Docker Composeで起動するサービスを指定する
サービスにプロファイルを設定する
docker-compose.yml
ファイルでサービスを定義するときにprofiles
に任意の名称を設定できる。
プロファイルを指定せずに起動する
サービス起動時にプロファイルを指定しなかった場合はプロファイルが指定されていないサービスのみが起動する。
$ <<YAML > docker-compose.yml
version: '3.9'
services:
web:
image: php:fpm-alpine
depends_on:
- database
profiles:
- web
admin:
image: phpmyadmin:fpm-alpine
depends_on:
- database
profiles:
- admin
database:
image: mysql:latest
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: true
YAML
$ docker compose up
# => start `database`
プロファイルを指定して起動する
プロファイルを指定した場合は指定されたプロファイルとプロファイルが指定されていないサービスが起動する。
$ docker compose --profile web up
# => start `web`, `database`
$ COMPOSE_PROFILES=web docker compose up
# => start `web`, `database`
プロファイルを複数指定して起動する
プロファイルは複数指定することができる。
$ docker compose --profile web --profile admin up
# => start `web`, `admin`, `database`
$ COMPOSE_PROFILES=web,admin docker compose up
# => start `web`, `admin, `database`