[ Docker Compose란? ]
$ docker-compose up
docker-compose.yml
version: "3.8"
services:
# 첫번째 컨테이너
react:
# 컨테이너만 껐다가 켜도 수정된 코드가 반영이 된다.
volumes:
- /app/node_modules
# host 경로 : container 경로
- ./client/:/app/
build:
# 현재 위치의 도커파일을 기반으로 이미지를 만들겠다
context: .
# 이름이 다르면 이름을 설정할 수 있다
# dockerfile: Dockerfile1
ports:
# host port는 적지 않으면 랜덤으로 지정이 된다.
- "3000:3000"
# 두번째 컨테이너
node:
# 기본 이미지 사용
image: "node:16"
working_dir: /usr/src/app
volumes:
- /app/node_modules
ports:
- "8000:8000"
command: bash -c "npm install && node index"
version : docker-compose.yml 내용을 해석하기 위한 문법 버전
services : 컨테이너를 실행하기 위한 단위로 하위에는 서비스 이름 > 서비스 옵션 순으로 작성된다.
build : build 할 dockerfile의 경로를 지정해준다.
ports : 포트 포워딩을 지정한다. <호스트포트> : <컨테이너포트>
volume : 바인드 마운트, 볼륨을 지정할 수 있다.
image : 도커 이미지 ( dockerfile을 사용하지 않는 기본 이미지일 경우 )
command : 마지막 만들어지고 난 후 실행할 명령을 작성한다.