티스토리 뷰
docker-compose 버전 확인
docker-compose --version
docker-compose 기본 명령
서브명령 | 설명 |
up | 컨테이너 생성/시작 |
ps | 컨테이너 목록 표시 |
logs | 컨테이너 로그 출력 |
run | 컨테이너 실행 |
start | 컨테이너 시작 |
stop | 컨테이너 정지 |
restart | 컨테이너 재시작 |
pause | 컨테이너 일시정지 |
unpause | 컨테이너 재개 |
port | 공개 포트번호 표시 |
config | 구성확인 |
kill | 실행중인 컨테이너 강제 정지 |
rm | 컨테이너 삭제 |
down | 리소스 삭제 |
docker-compose.yml을 기본으로 컨테이너 생성 및 시작
current directory 이외의 장소에 docker-compose.yml을 놓아 둔 경우는 -f 옵션으로 파일 경로를 지정
docker-compse -f ./sample/docker-compose.yml up
특정 컨테이너 조작
서브 명령 다음에 컨테이너명을 지정하면 해당 컨테이너만을 조작할 수 있음
- webserver 라는 이름의 컨테이너만 정지
docker-compose stop webserver
여러 컨테이너 생성[up]
docker-compose up 명령
docker-compose.yml을 바탕으로 여러 개의 컨테이너를 생성하여 시작할 때 사용
docker-compose up [옵션] [서비스명] .
지정할 수 있는 주요 옵션
옵션 | 설명 |
-d | 백그라운드에서 실행한다. |
--force-recreate | 컨테이너를 지우고 새로 만든다. |
--no-deps | 링크 서비스를 시작하지 않는다. |
--build | 이미지를 빌드한다. |
--no-build | 이미지를 빌드하지 않는다. |
-t, --timeout | 컨터이너의 타임아웃을 초로 지정[기본 10초]한다. |
--scale SERVICE=서비스수 | 서비스 수를 지정한다. |
여러 컨테이너의 일괄 생성 및 시작
docker-compose up
여러 컨테이너를 백그라운드로 시작
docker-compose up -d
docker 이미지 빌드
Dockerfile을 수정 했을 때 build 명령을 사용하여 도커 이미지를 새로 만들어야 함
up 명령에 다음 과 같이 --build 옵션을 넣으면 알아서 이미지를 새로 만들고 서비스를 재시작 함
docker-compose up --build
docker-compose up --scale 명령
컨테이너를 생성할 개수를 지정할 때 --scale 옵션을 사용
docker-compose up --scale [서비스명=수]
컨테이너 개수 지정
docker-compose.yml에 server_a와 server_b라는 2개의 정의가 있고
server_a의 컨테이너를 10개, server_b 컨테이너를 20개 시작하고 싶을 때
docker-compose up --scale server_a=10 --scale server_b=20
여러 컨테이너 확인[ps / logs]
여러 컨테이너의 상태 확인
docker-compose ps
컨테이너 ID확인
docker-compose ps -q
docker 명령을 사용한 컨테이너 확인
docker container ls
docker 명령을 사용한 로그 확인
docker-compose logs
컨테이너에서 명령 실행[run]
docker-compose로 시작한 컨테이너의 임의의 명령을 실행
docker-compose up 명령을 사용하여 시작한 server_a라는 이름의 컨테이너에서 /bin/bash를 실행하는 예
docker-compose run server_a /bin/bash
여러 컨테이너 시작/정지/재시작/일시정지/일시정지 재개[start / stop / restart / pause / unpause]
여러 컨테이너 일괄 시작
docker-compose start
여러 컨테이너의 일괄 정지
docker-compose stop
여러 컨테이너의 일괄 재시작
docker-compose restart
여러 컨테이너의 일시정지
docker-compose pause
여러 컨테이너의 일시정지 재개
docker-compose unpause
서비스의 구성확인[port / config]
서비스 공개용 포트 확인
docker-compose port [옵션] <서비스명> <프라이빗 포트 번호>
지정할 수 있는 주요 옵션
옵션 | 설명 |
--protocol=port | 프로토콜 tcp 또는 udp |
--index=index | 컨테이너의 인덱스 수 |
공개 포트 확인
webserver의 80 private port의 공개 포트 확인
docker-compose port webserver 80
구성확인
docker-compose config
여러컨테이너 강제 정지 / 삭제[kill / rm]
https://docs.docker.com/compose/reference
docker-coompose kill 명령을 사용해서 컨테이너에게 시그널을 송신할 수 있음
시그널이란 프로세스 간의 연락을 주고 받기 위한 장치로 Linux 커널에 내장되어 있음
컨테이너에 시그널 송신
docker-compose kill -s SIGINT
* 옵션을 지정하지 않고 docker-compose kill을 실행하면 SIGKILL이 송신됨
여러 컨테이너 일괄 삭제
docker-compose rm
Linux의 시그널
inux에서는 프로그램을 실행할 때 파일에 쓰여 있는 프로그램을 읽어 들여 메모리상에 배치함
이 메모리상에 배치된 프로그램이 실행되면 '프로세스'가 됨
그리고 이 프로세스에 대해 명령을 송신할 수 있는데, 이 명령을 시그널이라고 함
시그널은 POSIX.1-1990 라는 규격으로 정의되어 있음
docker-compose 주요 서브명령
지원하는 시그널 종류는 kill -l 명령으로 확인
시그널 | 설명 |
SIGHUP | 프로그램 재시작 |
SIGINT | 키보드로 인터럽트 CTRL+C 로 송신 할 수 있음 |
SIGQUIT | 키보드에 의한 중지 CTRL+\ 로 송신 할 수 있음 |
SIGTERM | 프로세스 정상 종료 |
SIGKILL | 프로세스 강제 종료 |
SIGSTOP | 프로세스 일시 정지 |
여러 리소스의 일괄 삭제[down]
docker-compose.yml 정의 파일을 바탕으로 docker-compose up 명령으로 생성한 컨테이너 이미지를 모아서 삭제할 때 사용
실행 중인 컨테이너를 정지시키고, docker 이미지, 네트워크, 데이터 볼륨을 일괄 적으로 삭제함
docker-compose down 명령
docker-compose down [옵션]
지정 할 수 있는 주요 옵션
시그널 | 설명 |
--rmi all | 모든 이미지 삭제 |
--rmi local | 커스텀 태그가 없는 이미지만 삭제 |
-v, --volumes | Compose 정의 파일의 데이터 볼륨을 삭제 |
이미지 삭제시 볼륨까지 삭제
이미지를 삭제 하면서 연결된 볼륨까지 삭제
docker-compose down --volume
여러 이미지 삭제
docker-compose.yml 정의 파일에서 지정한 컨테이너를 정지시키고 모든 이미지를 삭제
docker-compose down --rmi all
참고
'DevOps > Docker-Compose' 카테고리의 다른 글
1. docker-compose설정 가이드 (0) | 2021.04.04 |
---|
- Total
- Today
- Yesterday
- nginx
- Intellj들여쓰기
- 마이바티스
- elk8.x
- logstash
- Letsencrypt wildcard auto renew
- Letsencrypt wildcard
- SSL
- SSL인증서
- Letsencrypt+nginx
- camelcase
- 인증서자동갱신
- letencrypt
- #logback
- letsencrypt
- 마이바티스CamelCase
- 인증서설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |