Docker Compose

minjun kim·2025년 4월 24일

단일 컨테이너를 관리하는데 Dockerfile로 구성을 하였는데, 그럼 Docker Compose에서는 yaml/yml파일을 사용하면 dockerfile을 사용 안 해도 되는 것인가.

  • 결론적으로, Docker Compose를 사용할 때에도 Dockerfile은 필요

  • Docker Compose의 YAML 파일은 서비스의 구성을 정의하지만, 각 서비스가 사용하는 개별 도커 이미지를 빌드하기 위해서는 Dockerfile이 필요합니다.

  • 그렇기에 Docker Compose는 여러 Dockerfile을 관리하는데 도움이 되는 도구

💡 Docker Compose 처리 과정

  1. Dockerfile에 필요한 모든 서비스를 정의
    (Define all your required services in a Dockerfile)
  • Dockerfile 내에 각 다운로드 할 이미지와 실행 할 컨테이너에 대해 정의
  1. Compose 파일(YAML/YML) 내에 각 서비스 간의 관계를 정의
    (Define the releationship between each service in a Compose file)
  • 이 파일에는 실행할 서비스(컨테이너)들과 그 설정들을 포함하고 있다
  • 사용 할 파일 내용은 Docker 이미지, 포트 매핑, 볼륨 마운트, 네트워크 설정, 환경 변수 등이 정의.
  1. Docker Compose를 사용하여 애플리케이션을 시작
    (Use Docker Compose to start the application)
  • Docker Compose의 실행 명령어 ‘docker-compose up’ 명령어를 수행하여 일괄 서비스를 실행
  • 이 명령어를 통해서 Docker Compose 파일에 정의된 모든 서비스를 시작
  • 필요한 Docker 이미지가 로컬에 없으면 자동으로 다운로드하고, 컨테이너를 생성하고 시작
도커 컴포즈 서비스 상태확인
docker-compose  ps

컴포즈 서비스 중지
docker-compose stop

컴포즈 서비스 중지 및 컨테이너 네트워크 볼륨 삭제
docker-compose down

주요 속성

최상위 속성 설명
version : Docker Compose 파일의 버전을 지정, 버전은 파일의 구조를 결정
services : Docker 컨테이너의 목록을 정의, 각 서비스는 컨테이너의 구성을 설명
networks : 컨테이너가 사용할 네트워크를 지정
volumes : 호스트와 컨테이너 간의 볼륨 매핑을 지정
configs : Swarm mode에서 사용되는 설정을 지정

근데 최신으로 업데이트 되면서
docker compose version 이렇게 쳐야 맥에서 버전나옴

참고 글 :
https://adjh54.tistory.com/503

profile
배움의 흔적을 남기고 싶습니다.

0개의 댓글