🐱
docker compose で任意のサービスのみを起動する方法
結論
docker compose up -d [xxxx]
[xxxx]はservices:
直下に書いたサービス名
depends_on:
で対象サービスが指定したサービスも起動されます。
便利!!
具体的な例
下記のようなdocker compose.yml
の場合、docker-compose up -d back-php
で、db
とback-php
が起動されます。
終了はdocker compose down
でOK
docker-compose.yml
version: '3'
services:
front-react:
container_name: front-react
build:
context: ./env/front/react
dockerfile: Dockerfile
restart: always
ports:
- 3000
volumes:
- ./src/front/react:/usr/src/app
environment:
# Fixes bug where websocket connection is fixed to default port 3000
- WDS_SOCKET_PORT=0
depends_on:
- db
back-php:
container_name: back-php
build:
context: ./env/back/php
dockerfile: Dockerfile
volumes:
- ./src/back/php:/opt/
ports:
- 9000
depends_on:
- db
db:
container_name: db
build:
context: ./env/db/mysql
dockerfile: Dockerfile
restart: always
volumes:
- db-mysql-volume:/var/lib/mysql
- ./env/db/mysql/conf.d:/etc/mysql/conf.d
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: bench
MYSQL_USER: bench
MYSQL_PASSWORD: bench
ports:
- 3306
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- db
environment:
- PMA_ARBITRARY=1
- PMA_HOSTS=db
- PMA_USER=bench
- PMA_PASSWORD=bench
ports:
- "8080:80"
proxy-nginx:
container_name: proxy-nginx
build:
context: ./env/proxy/nginx
dockerfile: Dockerfile
hostname: proxy-nginx
restart: always
ports:
- 80:80
volumes:
- ./src/proxy/nginx:/etc/nginx/conf.d
depends_on:
- front-react
volumes:
db-mysql-volume:
全体ソース
テキトーに作った言語比較ベンチマークです。
Discussion