compose.yaml
 1  services:
 2    app:
 3      # 작성 순서는 상관 없다.
 4      image: node:18-alpine
 5      command: sh -c "yarn install && yarn run dev"
 6      ports:
 7        - 127.0.0.1:3000:3000
 8      working_dir: /app
 9      volumes:
10        - ./:/app # docker compose가 실행되는 현재 디렉토리, bind-mount
11      environment:
12        MYSQL_HOST: mysql
13        MYSQL_USER: root
14        MYSQL_PASSWORD: secret
15        MYSQL_DB: todos
16  
17    mysql:
18      image: mysql:8.0
19      volumes:
20        - todo-mysql-data:/var/lib/mysql
21      environment:
22        MYSQL_ROOT_PASSWORD: secret
23        MYSQL_DATABASE: todos
24  
25  volumes:
26    todo-mysql-data: