이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

[Docker] Docker Compose

  • 2023.03.24 18:03
  • DevOps/Docker && Kubernetes
반응형

 

 

 

MSA 처럼 여러 가지 서비스들이 모여서 하나의 애플리케이션을 구성하거나, Frontend / Backend / Database 가 모여서 하나의 애플리케이션을 구성하는 경우에 애플리케이션을 도커로 배포하려면 각각의 서비스들을 컨테이너로 띄워야 한다.

 

각 서비스들을 띄울 때 docker container run 명령어를 하나씩 실행하고 있자니.. 너무 번거롭고 실수할 확률도 높아진다. 

이렇게 여러 서비스들이 합쳐저 애플리케이션을 구성하는 형태의 애플리케이션을 도커로 배포할 때 도커 컴포즈를 사용한다.

 

 

version: '3.7'

services:

  accesslog:
    image: diamol/ch04-access-log
    networks:
      - app-net

  iotd:
    image: diamol/ch04-image-of-the-day
    ports:
      - "80"
    networks:
      - app-net

  image-gallery:
    image: diamol/ch04-image-gallery
    ports:
      - "8010:80" 
    depends_on:
      - accesslog
      - iotd
    networks:
      - app-net

networks:
  app-net:
    external:
      name: nat

secrets:
  ...

 

 

version은 도커 컴포즈 파일 형식의 버전을 의미한다. (버전마다 문법이 다르다)

 

services에서는 애플리케이션을 구성하는 모든 요소들을 열거한다. (서비스 == 이미지 로 생각하면 된다)

depends_on 옵션으로 해당 서비스가 어떤 서비스에 의존하는지 명시할 수 있다.

 

networks에서는 서비스 컨테이너들이 연결될 모든 도커 네트워크를 열거한다. 여기서는 네트워크의 이름은 app-net 이고 external로 nat 네트워크가 이미 있으니 새로 생성하지 않음을 명시해줬다.

 

secrets에서는 컨테이너 내부의 파일에 기록될 비밀값을 정의한다. 암호나 인증서 등 민감한 정보를 다룰 때 사용한다.

 

도커 컴포즈 파일이 저장된 위치에서 docker-compose up 명령어를 입력하면 도커 컴포즈 파일을 실행된다.

 

도커 컴포즈를 사용하면 애플리케이션과 설정값을 분리할 수 있어 유용하다.

 

 

 

 

 

반응형
저작자표시 (새창열림)

'DevOps > Docker && Kubernetes' 카테고리의 다른 글

[Docker] 네트워킹과 Docker Compose  (1) 2023.12.10
[Docker] Dockerfile 프로젝트 배포하기  (3) 2023.12.06
[Docker] 도커 파일 시스템과 볼륨  (0) 2023.03.09
[Docker] 도커 활용하기  (0) 2023.03.08
[Docker] 도커와 컨테이너 기술  (0) 2023.03.07

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Docker] 네트워킹과 Docker Compose

    [Docker] 네트워킹과 Docker Compose

    2023.12.10
  • [Docker] Dockerfile 프로젝트 배포하기

    [Docker] Dockerfile 프로젝트 배포하기

    2023.12.06
  • [Docker] 도커 파일 시스템과 볼륨

    [Docker] 도커 파일 시스템과 볼륨

    2023.03.09
  • [Docker] 도커 활용하기

    [Docker] 도커 활용하기

    2023.03.08
다른 글 더 둘러보기

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (666) N
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (142)
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Amazon Web Service (8)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (16)
    • 👥 모각코 (6)
    • 💬 기록 (4)
    • 📚 공부 (2) N
    • -------------- (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © i3months.

티스토리툴바