My __ 노트

[Docker] Compose 개념 및 명령어 본문

Docker

[Docker] Compose 개념 및 명령어

블루빔 2023. 11. 14. 21:00

compose 란 : 

YAML 파일을 사용하여 여러 개의 컨테이너로 이루어진 서비스를 구축 및 관리할 수 있는 기능입니다. 
로컨 개발 환경 구성이나 자동화된 테스트 환경 구성 등에 사용되기도 합니다. 

목차
▶ compose 버전 확인
▶ compose.yaml 파일 작성
▶ compose YAML 파일로 컨테이너 생성 및 시작 
▶ 컨테이너 재시작
▶ 컨테이너 삭제

compose 버전 확인

compose 버전 확인

docker compose version

docker 엔진 버전 확인 

docker -v
------------------------------------
Docker version 24.0.4, build 3713ee1

>> compose 파일 형식은 도커 엔진 버전에 따라 변하므로 확인 필요합니다.
19.03.0+ 버전 이상은 파일 형식을 3.8로 진행하면 되고 도커엔진 버전별 compose 파일 형식은 ⬅️해당 링크를 통해 확인이 가능합니다. 

 

compose.yaml 파일 작성

(예시)

version: '3.8'

services:
    prometheus:
        container_name: test-prometheus
        image: prom/prometheus
        restart: unless-stopped
        ports:
            - 9090:9090
        privileged: true
        user: root
        volumes:
            - ./prometheus/config:/etc/prometheus
            - ./prometheus/data:/prometheus
        logging:
            driver: "json-file"

 

compose YAML 파일로 컨테이너 생성 및 시작

### compose.yaml 파일이 위치한 곳에서 실행 ###
docker compose up -d

 

컨테이너 재시작

docker compose start

>> 기존 컨테이너 시작 시 컨테이너 ID 혹은 컨테이너 네임이 필요했지만 compose로 올린 컨테이너는 docker compose start 만 실행하면 되는 것을 확인할 수 있습니다. 

 

컨테이너 삭제

docker compose down

## 옵션 -v 는 볼륨까지 삭제할 수 있음 
docker compose down -v

>> 삭제 또한 재시작과 동일하게 컨테이너 ID 혹은 컨테이너 네임을 지정하지 않아도 실행됩니다.