Docker 기초 (4) - 컨테이너 라이프사이클, 명령어

이것저것 개발자·2022년 3월 9일
0

Docker 기초

목록 보기
4/17

Docker Container Life Cycle

간단한 버전

복잡한 버전

지금 단계에서는 복잡한 이미지를 보면서 고민할 필요가 없다.
간단하게 run, start의 두 과정으로 컨테이너를 실행할 수 있다.
pause로 일시정지 remove 로 삭제

컨테이너 시작

docker create

컨테이너 생성

docker run [image]

컨테이너 생성 및 시작

docker start [container]

컨테이너 시작

create / run 명령어 모두 local에 이미지가 없을 경우 자동으로 Repository에서 pull을 먼저 수행하여 이미지를 다운로드 받음

컨테이너 실행 실습

docker run nginx

위 명령어를 터미널에 입력해서 nginx 컨테이너를 실행시켜 보자
local에 nginx 컨테이너가 없으면 자동으로 pull을 받아와서 포그라운드로 실행시키는것을 확인 할 수 있다.

docker run 주요 옵션

옵션설명
-i호스트의 표준 입력을 컨테이너와 연결
-tTTY (가상 터미널) 할당
--rm컨테이너 실행 종료 후 자동 삭제
-d백그라운드 모드로 실행 (detached)
--name [name]컨테이너 이름 지정
-p 80:80호스트 - 컨테이너 간 포트 바인딩
-v /opt/example:/example호스트 - 컨테이너 간 볼륨 바인딩
[command]컨테이너 내에서 실행할 명령어

-i, -t 는 보통 같이 사용하는데 컨테이너 내에서 쉘을 실행할때 사용

docker run ubuntu:focal

위 명령어를 실행해 보면 이미지가 실행되자마자 종료되는 것을 볼 수 있다.
표준입력이 있어야 하는 어플리케이션이기 때문에 쉘이 있어야 한다.

docker run -i -t ubuntu:focal

그럴때 -i, -t 명령어 사용

ctrl + p + q

배쉬에서 위 단축키를 사용하면 컨테이너를 종료하지 않고 배쉬에서 나갈 수 있다.

컨테이너 상태 확인

docekr ps

실행중인 컨테이너 상태 확인

docker ps -a

전체 컨테이너 상태 확인

docker inspect [container]

컨테이너 상세 정보 확인

컨테이너 일시중지 및 재개

docker pause [container]

컨테이너 일시 중지

docker unpause [container]

컨테이너 재개

컨테이너 종료

docker stop [container]

컨테이너 종료 (SIGTERM 시그널 전달)

docker kill [container]

컨테이너 강제 종료 (SIGKILL 시그널 전달)

docker stop $(docker ps -a -q)

모든 컨테이너 종료

$( )는 괄호안의 명령어의 결과를 전달

컨테이너 삭제

docker rm [container]

컨테이너 삭제 (실행중인 컨테이너 불가)

docker rm -f [container]

컨테이너 강제 종료 후 삭제 (SIGKILL 시그널 전달)

docker run --rm ...

컨테이너 실행 종료 후 자동 삭제

docker container prune

중지된 모든 컨테이너 삭제

profile
조호영, Developing something

0개의 댓글