간단한 버전
복잡한 버전
지금 단계에서는 복잡한 이미지를 보면서 고민할 필요가 없다.
간단하게 run, start의 두 과정으로 컨테이너를 실행할 수 있다.
pause로 일시정지 remove 로 삭제
끝
docker create
컨테이너 생성
docker run [image]
컨테이너 생성 및 시작
docker start [container]
컨테이너 시작
create / run 명령어 모두 local에 이미지가 없을 경우 자동으로 Repository에서 pull을 먼저 수행하여 이미지를 다운로드 받음
docker run nginx
위 명령어를 터미널에 입력해서 nginx 컨테이너를 실행시켜 보자
local에 nginx 컨테이너가 없으면 자동으로 pull을 받아와서 포그라운드로 실행시키는것을 확인 할 수 있다.
옵션 | 설명 |
---|---|
-i | 호스트의 표준 입력을 컨테이너와 연결 |
-t | TTY (가상 터미널) 할당 |
--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
중지된 모든 컨테이너 삭제