[Docker] 6. docker-compose.yml?

2024. 11. 15. 20:51·Docker

docker-compose.yml?

  • 컨테이너화도딘 여러 서비스를 정의하고 관리하기 위한 구성 파일
  • YAML 형식으로 작성되며, 애플리케이션 환경을 코드로 표현하여 쉽게 복제 가능

docker-compose.yml 장점

  • 여러 컨테이너를 한 번에 실행 및 관리 가능
  • 네트워크, 볼륨 등 관련 리소스를 자동으로 설정
  • 개발 환경에서 프로덕션 환경으로 쉽게 전환 가능

docker-compose.yml 주요 구성 요소

  • version
    • 파일 형식 정의
  • services
    • 애플리케이션의 각 컨테이너 정의
    • 각 서비스는 별도의 Docker 컨테이너 실행
  • image
    • 사용할 Docker 이미지 지정
  • build
    • 이미지를 직접 빌드할 경우, Dockerfile의 경로 지정
  • ports
    • 호스트 <-> 컨테이너 간의 포트 매핑
  • volumes
    • 데이터 공유를 위한 볼륨을 정의하고 마운트
    • 전역으로 볼륨을 정의하고 사용 가능
  • depends_on
    • 서비스 간 의존성 설정
  • networks
    • 서비스 간 통신을 위한 네트워크 설정

예제

  • Nginx와 Mysql로 구성된 간단한 웹 애플리케이션 예제
version: "3.9"
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: secret
  • 빌드가 포함된 Flask 애플리케이션 예제
version: "3.9"
services:
  web:
    build:
      context: .
    ports:
      - "5000:5000"
    volumes:
      - "./app:/app"
  db:
    image: postgres:13
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
저작자표시 (새창열림)

'Docker' 카테고리의 다른 글

[Docker] 5. Docker Compose?  (0) 2024.11.15
[Docker] 4. Volume? Mount?  (0) 2024.11.14
[Docker] 3. Docker Hub?  (0) 2024.11.13
[Docker] 2. Docker 기본 명령어  (1) 2024.11.13
[Docker] 1. Docker?  (0) 2024.11.13
'Docker' 카테고리의 다른 글
  • [Docker] 5. Docker Compose?
  • [Docker] 4. Volume? Mount?
  • [Docker] 3. Docker Hub?
  • [Docker] 2. Docker 기본 명령어
김줘
김줘
김줘와 같이 데이터, 컴퓨터, IT 공부
  • 김줘
    초보개발자 김줘의 코딩일기
    김줘
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 데이터 엔지니어링 데브코스
      • 데이터
        • Airflow
        • Spark
        • Kafka
        • dbt
      • TroubleShooting
      • Docker
      • AWS
      • 크롤링, 스크래핑, 시각화
        • Selenium
        • 시각화
      • 코딩테스트
        • 프로그래머스
        • 입출력과 사칙연산
        • 정렬
      • Django
      • 자바 공부
      • 끄적끄적
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    파이썬
    Java
    초보개발자
    데브코스
    프로그래머스
    데이터 엔지니어링 데브코스
    자바
    TiL
    에어플로우
    cloud
    프로그래밍
    Airflow
    부트캠프
    aws
    오블완
    Python
    티스토리챌린지
    데이터 엔지니어
    Azure
    데이터 엔지니어링 데브코스 4기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
김줘
[Docker] 6. docker-compose.yml?
상단으로

티스토리툴바