여러 개의 컨테이너들을 관리, 실행하기 위한 "툴"
•
단일 환경에 여러 개의 격리된 환경 보유
•
컨테이너가 생성될 때 볼륨 데이터 보존
•
변경된 컨테이너만 다시 생성
•
변수 지원 및 환경 간 컴포지션 이동 지원
docker-compose 명령어
현재 위치의 .env를 환경변수로, compose.yaml(권장) 또는 compose.yml를 기본 설정으로 사용한다. 이전 버전과의 호환성을 위해 docker-compose.yaml 또는 docker-compose.yml도 지원한다.
동작 및 옵션 | docker-compose | docker 대응 |
도움말 | help | --help |
버전 정보 | version | --version |
Compose 파일 유효성 검사 | config | |
이미지 목록 | images | images |
이미지 빌드 | build | build |
이미지 푸시 | push | push |
이미지 가져오기 | pull | pull |
이미지 삭제 | down --rmi all | rmi |
컨테이너 목록 보기 | ps | ps |
중지된 컨테이너 제거 | rm | rm |
컨테이너 및 서비스 생성 및 시작 | up | run |
컨테이너 및 리소스 중지 및 제거 | down
down --volumes | stop & rm |
컨테이너 강제 종료 | kill | kill |
컨테이너 로그 출력 | logs | logs |
컨테이너 실시간 이벤트 수신 | events | events |
서비스의 컨테이너 개수 설정 | scale | |
실행 중인 프로세스 표시 | top | top |
서비스 생성 | create | |
서비스 시작 | start | start |
서비스 다시 시작 | restart | restart |
서비스 중지 | stop | stop |
서비스 일시 중지 | pause | pause |
서비스 일시 중지 해제 | unpause | unpause |
서비스에서 명령어 실행 | exec | exec |
포트 매핑 정보 확인 | port | port |
일회성 명령어 실행 | run | run |
YAML(YAML Ain’t Markup Language) 형식을 사용한다.
YAML은 공백을 사용한 들여쓰기를 통해 데이터 계층을 표현하므로 TAB 금지!
•
Version (Optional)
•
Services (Required)
•
아래는 간단한 예시로 명령어 가이드 읽어보시는 걸 권장합니다!
# docker-compose.yaml 문법 오류 검사
srcs$ docker compose config
yaml: line 212: found character that cannot start any token
# 이미지 빌드
$ docker-compose -f srcs/docker-compose.yaml build
# 컨테이너 생성 및 실행
$ docker-compose -f srcs/docker-compose.yaml up # --build
# 컨테이너 종료 및 제거
$ docker-compose -f srcs/docker-compose.yaml down
# 이미지 제거
$ docker rmi $(docker images -q)
# 캐시 제거
$ docker system prune -a
Shell
복사