docker compose
백엔드 서버 컨테이너와 데이터베이스 서버 컨테이너가 있다고 할때, 매번 여러개의 컨테이너를 키고 끄는건 귀찮은 일이다.
docker compose 는 컨테이너들을 모아서 한번에 빌드하고 ,실행하고 , 끄는 역할을 하는 도구이다.
명령어가 간단하기 때문에 하나의 컨테이너를 사용하는 경우에도 이를 compose로 감싸서 compose 명령어를 사용하기도 한다.
왜 여러 컨테이너를 사용할까?
하나의 컨테이너 안에 백엔드 서버와 데이터베이스 서버를 모두 넣어서 관리할수도 있다. 이 방법은 각각의 컨테이너를 만들어서 docker를 사용하는 것과 비교해서 성능의 차이는 거의 없고, 다만 컨테이너의 복잡성을 높이고 재활용성을 어렵게 할 뿐이다. 따라서 서버들을 각각의 컨테이너로 만들어 놓고 Docker Compose 도구로 관리한다.
Docker Compose 도구 실습하기
컨테이너들을 관리하는 docker-compose.yaml 파일 생성하기
touch docker-compose.yaml
// 파일명 규칙
Docker Compose YAML 파일의 이름에는 엄격한 규칙이 있지는 않지만, 일반적으로 따르는 관행이 있습니다:
기본 이름:
docker-compose.yml 또는 docker-compose.yaml
이 이름을 사용하면 docker-compose 명령어를 실행할 때 파일을 지정하지 않아도 됩니다.
환경별 파일:
docker-compose.dev.yml (개발 환경)
docker-compose.prod.yml (프로덕션 환경)
docker-compose.test.yml (테스트 환경)
중요한 점:
Docker Compose는 기본적으로 docker-compose.yml을 찾습니다.
다른 이름을 사용할 경우, -f 옵션으로 파일을 지정해야 합니다:
docker-compose -f docker-compose.dev.yml up
여러 파일을 사용할 때는 여러 번 -f 옵션을 사용할 수 있습니다:
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up
docker-compose.yaml 파일 작성
version : '3.7'
# 컴퓨터들
# 내데이터베이스컴퓨터:
# build:
# 파일경로:
# 파일명: Dockerfile.mongo
services :
my-backend:
build:
context: .
dockerfile: Dockerfile
ports:
- 4000:4000
my-database:
build:
context: .
dockerfile: Dockerfile.mongo
ports:
- 27017:27017
명령어
빌드 명령어
docker-compose build
컨테이너 실행 명령어
docker-compose up
컨테이너 실행 중지 명령어
docker-compose stop
728x90
'Backend 백엔드' 카테고리의 다른 글
[ 28 ] mongoose 로 Board_API 만들기 실습 (0) | 2024.08.20 |
---|---|
[ 27 ] ODM ( mongoose ) 을 통해서 백엔드와 데이터베이스 연결하기 (0) | 2024.08.20 |
[ 25 ] MongoDB 연결 (0) | 2024.08.19 |
[ 24 ] 백엔드와 데이터베이스 (0) | 2024.08.16 |
[ 23 ] 효율적인 도커 세팅, 이미지와 컨테이너 삭제 명령어 (0) | 2024.08.16 |