[Docker] Docker Compose를 이용한 컨테이너 운용
2020. 12. 4. 14:12ㆍDocker
1. Docker Compose 버전 확인
Docker Compose는 도커 클라이언트 툴에 미리 설치되어있다.
docker-compose -v
docker-compose --version
2. Docker Compose 명령어
1) 기본 명령
명령 | 설명 |
up | 컨테이너 생성/시작 |
ps | 컨테이너 목록 출력 |
logs | 컨테이너 로그 출력 |
run | 컨테이너 실행 |
start | 컨테이너 시작 |
stop | 컨테이너 정지 |
restart | 컨테이너 재시작 |
pause | 컨테이너 일지 정지 |
unpause | 컨테이너 재개 |
port | 공개 포트 번호 출력 |
config | 구성 확인 |
kill | 실행 중인 컨테이너 강제 정지 |
rm | 컨테이너 삭제 |
down | 리소스 삭제 |
※ docker-compose 명령에 -f 옵션을 붙일 경우, 다른 장소에 위치한 docker-compose.yml 파일의 경로를 지정하여 사용할 수 있다.
2) 여러 컨테이너 생성
작성한 Compose 파일을 바탕으로 여러 개의 컨테이너를 생성하여 시작할 때 up 명령을 사용한다.
docker-compose up [옵션] [서비스명] .
옵션 | 설명 |
-d | 백그라운드에서 실행 |
--no-deps | 링크 서비스를 시작하지 않음 |
--build | 이미지 빌드 |
--no-build | 이미지 빌드를 하지 않음 |
-t, --timeout | 컨테이너의 타임아웃을 초로 지정 (기본 10초) |
--scale [서비스명= 수] | 컨테이너를 생성할 개수 지정 |
3) 여러 컨테이너 확인
// 컨테이너 상태 확인
docker-compose ps
docker-compose ls
// 컨테이너 ID 확인
docker-compose ps -q
// 로그 확인
docker-compose logs
4) 컨테이너 명령 실행
// 컨테이너에서 명령 실행
docker-compose run [컨테이너명] /bin/bash
5) 여러 컨테이너 시작, 정지, 재시작, 일시 정지, 재개
// 컨테이너 시작
docker-compose start
// 컨테이너 정지
docker-compose stop
// 컨테이너 재시작
docker-compose restart
// 특정 컨테이너 재시작
docker-compose restart [컨테이너명]
// 컨테이너 일시 정지
docker-compose pause
// 컨테이너 재개
docker-compose unpause
6) 서비스 구성 확인
// 서비스의 공개용 포트 확인
docker-compose port [옵션] [서비스명] [프라이빗 포트 번호]
// 구성 확인
docker-compose config
옵션 | 설명 |
--protocol=proto | 프로토콜, tcp 또는 udp |
--index=index | 컨테이너의 인덱스 수 |
7) 여러 컨테이너 강제 정지, 삭제
실행 중인 컨테이너를 강제로 정지할 때 kill 명령어를 통해 시그널을 보낸다. 시그널은 프로세스 간에 연락을 주고받기 위한 장치로 Linux 커널에 내장되어 있다. 실행 중인 프로세스의 처리를 멈추고 다른 프로세스를 처리하고 싶은 경우나 프로세스를 강제 종료시키고 싶을 때 사용한다.
// -s 옵션을 지정하지 않을 경우 SIGKILL이 송신
docker-compose kill -s SIGINT
// 일괄 삭제
docker-compose rm
시그널 | 설명 |
SIGHUP | 프로그램 재시작 |
SIGINT | 키보드 인터럽트 (Ctrl + c) 송신 |
SIGQUIT | 키보드에 의한 중지 (Ctrl + \) 송신 |
SIGTERM | 프로세스 정상 종료 |
SIGKILL | 프로세스 강제 종료 |
SIGSTOP | 프로세스 일시 정지 |
※ 지원하는 시그널의 종류는 'kill -i' 명령으로 확인할 수 있다.
8) 여러 리소스 일괄 삭제
실행 중인 컨테이너를 정지하고 도커 이미지, 네트워크, 데이터 볼륨을 일괄적으로 삭제한다.
docker-compose down [옵션]
옵션 | 설명 |
--rmi all | 모든 이미지 삭제 |
--rmi local | 커스텀 태그가 없는 이미만 삭제 |
-v, --volumes | Compose 정의 파일의 데이터 볼륨 삭제 |
[참고] 완벽한 IT 인프라 구축을 위한 Docker (2판)
728x90
'Docker' 카테고리의 다른 글
[Docker] Docker Machine을 이용한 실행 환경 구축 (0) | 2020.12.04 |
---|---|
[Docker] 멀티 호스트 환경에서 컨테이너 관리 (0) | 2020.12.04 |
[Docker] Docker Compose를 이용한 컨테이너 구성 관리 (0) | 2020.12.04 |
[Docker] Docker Compose를 이용한 웹 애플리케이션 실행 환경 구축 (0) | 2020.12.03 |