JavaScriptを有効にしてください

【Docker】Docker Compose で profiles を使って普段使わないサービスの起動をさせないようにする

 ·  ☕ 1 分で読めます

【Docker】Docker Compose で profiles を使って普段使わないサービスの起動をさせないようにする

Docker Compose で profiles を使って普段使わないサービスの起動をさせないようにする方法

profiles を使用する。

Docker Compose の profiles というものを使用します。

サンプル Docker Compose

サンプルとして以下の docker-compose.yml を使用します。
通常起動したくない phpmyadminprofiles を指定します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
version: '3'

services: 
  php:
    image: php:8.1.11-apache
    volumes:
      - ./src:/var/www/
    working_dir: /var/www
  mysql:
    container_name: mysql
    image: mysql:8.0
    command:
      - --sql-mode=NO_ENGINE_SUBSTITUTION
    volumes:
      - ./.data/mysql:/var/lib/mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: test
      MYSQL_USER: develop
      MYSQL_PASSWORD: p@ssw0rd
      TZ: 'Asia/Tokyo'
  phpmyadmin:
    container_name: phpmyadmin
    image: phpmyadmin/phpmyadmin:latest
    environment:
      PMA_HOST: 'mysql'
    ports:
      - 18888:80
    profiles: ["debug"]

profiles: ["debug", "test"] などのように profiles を複数指定することも可能です。

起動

これで通常起動してみると phpmyadmin のコンテナが立ち上がらなくなります。

docker-compose up

以下のように --profile [プロファイル名] を指定して立ち上げると phpmyadmin のコンテナが立ち上がります。

docker-compose --profile debug up

補足

たとえば特定のサービスのみを起動したい場合は以下のようにサービスを指定することで特定のみを起動することも可能です。

php のみ起動

docker-compose up php

phpmysql が起動

docker-compose up php mysql

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer