[TIL] 24.12.24 TUE

GDORI·2일 전
0

TIL

목록 보기
142/143
post-thumbnail

Docker Compose

주저리주저리..

갑분 도커 컴포즈, 같은 기수분과 디코 채팅을 하던 도중 도커를 공부하시고 계시다고 하셔서 같이 듣게 되었다. 나의 경우 도커는 저번 프로젝트에서 사용하여 어느정도 사용이 가능한 상태였고 복습 겸 듣다가 프로젝트 때에는 서버를 인스턴스 단위로 분산시켜 도커 컴포즈를 사용할 일이 없었는데, 같은 환경 내에서 컨테이너로 띄우는 방식이었다면 필요했을 것 같아 알아두면 좋을듯하여 찾아보았다.

찐 내용

도커 컴포즈는 여러 개의 도커 컨테이너를 정의하고 동시에 실행할 수 있도록 도와주는 도구로 docker-compose.yml 파일을 통하여 애플리케이션 서비스, 네트워크, 볼륨등을 선언하여 정의할 수 있다. 이를 이용하여 한번에 모든 서버를 복제 및 실행할 수 있다.

docker-compose.yml 예제

version: "3.9"
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: 비밀번호
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:/var/lib/mysql

version은 도커 컴포즈 파일의 형식을 지정하는 버전이다. Docker Compose의 기능과 호환성을 정의한다.
services는 실행할 컨테이너들을 정의하는 섹션으로위의 경우에는 web, db가 정의되어 있다.
각각 내부에서 상세 적용시켜줄 수 있다.
volumes는 컨테이너 내부에 공간을 만들어 데이터의 영속성을 보장할 수 있다. 위의 예시의 경우 mysql 데이터 디렉토리를 호스트에 저장하여 데이터 영속성을 보장받는다.

주요 명령어

docker-compose up : 모든 서비스를 실행

  • 옵션
    -d: 백그라운드에서 실행
    --build: 컨테이너를 새로 빌드한 후 실행

docker-compose down : 모든 서비스를 중지하고 네트워크, 볼륨 등을 제거

docker-compose ps : 실행 중인 서비스 목록 확인.

docker-compose logs : 서비스 로그 확인.

  • 옵션
    -f: 실시간 로그 스트리밍

docker-compose build : 이미지를 새로 빌드

docker-compose exec : 실행 중인 컨테이너에서 명령어 실행

docker-compose config : Compose 파일의 문법 및 구성을 검증

docker-compose scale : 특정 서비스의 컨테이너 수를 조정

  • docker-compose up --scale =를 사용해도 됨

docker-compose restart : 서비스를 재시작

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글