<aside> 💡 여러 개의 컨테이너들을 관리, 실행하기 위한 "툴"
현재 위치의
.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) 형식을 사용한다.
<aside> ⚠️ YAML은 공백을 사용한 들여쓰기를 통해 데이터 계층을 표현하므로 TAB 금지!
</aside>
# 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