데이터엔지니어링

[9주차] Docker & K8s (4)

heecup 2024. 5. 30. 13:49

🙂 Docker-Compose

✔ Docker-Compose란?

  • 다수의 Container로 SW가 구성되는 경우 사용할 수 있는 툴 + 환경설정파일
    • docker-compose.yml로 설정
    • 다양한 테스트 등도 수행 가능
    • 다양한 버전을 만드는 것도 일반적 (dev, test, prod 등)
  • 개별 Container를 따로 관리하는 것보다 훨씬 더 생산성이 높음
  • 환경설정 파일의 이름은 docker-compose.yml이나 docker-compose.yaml
  • $docker-compose --version

🍦 사용법

  • docker-compose build: build 키로 지정된 것들 대상
  • docker-compose up: docker run과 비슷
    • build - create - start
  • docker-compose pull: docker hub에서 이미지를 읽어옴 (공식 이미지)
  • docker-compose push: docker hub로 push
  • docker-compose ps
  • docker-compose down
    • stop - rm
  • docker-compose start
  • docker-compose stop
  • docker-compose rm

docker-compose.yml

  • services: 다음으로 프로그램을 구성하는 서비스 지정
    • 각 서비스는 별개의 Docker Image 지정과 Docker Container 실행으로 구성
    • 각 서비스는 자신의 Dockerfile을 가지고 있어야함 아니면 Docker Hub 등에서 이미지 다운로드
    • 서비스별로 포트번호, 환경변수, 디스크 볼륨 등을 지정
    • 서비스 이름은 아무 이름이나 가능
  • volumes: 앞서 사용된 docker volume을 지정
  • networks: 앞서 사용된 network 지정

docker-compose.yml 예시

댓글수0