Docker Compose(개념, 사용법, 명령어)

BM1201·2023년 10월 31일

Docker

목록 보기
2/2
post-thumbnail

도커 컴포즈(Docker Compose)란?

  • 도커 컴포즈는 시스템 구축과 관련된 명령어를 하나의 텍스트 파일에 기재해, 명령어 한번에 시스템 전체를 실행하고 종료와 폐기까지 한번에 하도록 도와주는 도구이다.

  • 시스템 구축에 필요한 설정을 YAML 포맷으로 기재한 파일을 이용해 시스템을 일괄 실행, 종료, 삭제 할 수 있다.

Dockerfile vs Docker Compose

  • 도커 컴포즈 파일은 컨테이너와 주변 환경을 생성하고 네트워크와 볼률까지 함께 만들 수 있다.
  • Dockerfile은 이미지를 만들 뿐 네트워크나 볼률은 만들 수 없다.

도커 컴포즈 vs 쿠버네티스(Kubernetes)

  • 쿠버네티스 : 컨테이너를 관리하는 기능
  • 도커컴포즈 : 컨테이너를 생성 및 삭제, 컨테이너 관리 기능 없음

도커 컴포즈(Docker Compose) 설치

설치방법 : https://docs.docker.com/compose/install/

도커 데스크톱은 도커 컴포즈가 함께 설치되기 때문에 도커 데스크톱을 설치했다면 별도로 설치할 필요가 없습니다.

설치 확인을 위해서 도커 컴포즈 버전을 확인합니다.

도커 컴포즈 파일 작성법

파일의 이름은 미리 정해진 docker-compose.yml 이라는 이름을 사용해야 합니다.
파일은 폴더에 하나만 존재해야하고 여러개의 컴포즈 파일을 생성하는 경우 개수만큼 폴더를 생성해야합니다. 또한, 컨테이너 생성에 필요한 이미지 파일은 컴포즈가 사용할 폴더 안에 둬야합니다.

docker-compose.yml 파일 예시

version: '3.2'
services:
  testService:
    container_name: test
    image: test:latest
    restart: always
    ports:
      - "13777:13777"
    #volumes:
    
#networks:
#  default:
#    external:
#      name:
  1. version
    컴포즈 파일의 버전을 적는다.

  2. services
    컨테이너 관련 정보를 작성하고 컨테이너 정보는 여러개를 작성할 수 있다.

    작성 내용
    testService : 서비스 이름
    container_name : 실행할 컨테이너 이름
    image : 실행할 이미지 파일
    restart : 컨테이너 종료 시 재시작 여부를 설정
    ports : 포트 설정

도커 컴포즈 파일 실행

  • 기존 실행
    docker run -d -p 13777:13777 --name=test test:latest

  • 기존 종료
    docker ps -a : 작동중인 컨테이너 ID 확인
    docker stop [종료할려고 하는 컨테이너 ID]
    docker rm [종료할려고 하는 컨테이너 ID]

    docker ps -a : 실행중인 컨테이너 확인
    docker rm을 하지 않으면 동일한 이름으로 컨테이너를 다시 run 할 수 없음

  • 도커 컴포즈 실행
    docker-compose up

    docker-compose up : 실행
    docker-compose up -d : background 실행
    docker-compose ps : 실행중인 컨테이너 확인

  • 도커 컴포즈 종료
    docker-compose down

profile
개발자의 기록하는 습관

0개의 댓글