반응형
[Docker] 도커 명령어 모음
- image 다운
docker pull image이름 (ex. docker pull httpd)
docker images: 다운 잘 됐는지 확인 - image 실행
docker run image이름 (ex. docker run httpd)
docker run --name image이름 httpd (ex. docker run --name ws2 httpd) - image 중단
docker stop container이름 (ex. docker stop ws2) - image 재실행
docker start container이름 (ex. docker start ws2) - container 실행
docker start container이름
docker run --name image이름 httpd (ex. docker run --name ws2 httpd) - container 확인
docker ps: 정지(stop)되지 않은 컨테이너만 출력 (exit을 통해 빠져나온 컨테이너는 검색되지 않음)
docker ps -a: all, image stop한 것도 뜸
ps: process status의 약자로 컨테이너의 상태를 확인
CONTAINER ID: 컨테이너를 식별하기 위한 고유 ID
IMAGE: 컨테이너를 만드는 데 사용한 이미지
COMMAND: 컨테이너가 생성될 때 내부에서 작동할 프로그램을 실행하는 명령어. 보통 /bin/bash로 설정되어 있으며, 상호 입출력이 가능한 셸 환경이 실행됨.
CREATED: 컨테이너가 생성되고 난 뒤 흐른 시간
STATUS: 컨테이너가 작동을 시작한 시각. CREATED와 달리 컨테이너를 중지했다가 다시 실행하는 경우 초기화됨. (Up: 컨테이너가 실행 중임, Exited: 종료된 상태, Pause: 일시 중지된 상태)
PORTS: 컨테이너가 사용하는 포트와 프로토콜 (현재는 해당 포트로 컨테이너에 접속할 수 없음)
NAMES: 컨테이너 이름을 표시. docker run에 –name <이름> 옵션으로 직접 지정할 수도 있음
- log 출력
docker logs image이름
docker logs -f images이름: log의 변화가 실시간으로 출력됨 - container 삭제
docker rm container이름 (ex. docker rm ws2)
현재 실행중인 컨테이너는 삭제할 수 없음. 먼저 stop으로 중단한 다음에 rm
docker rm -f(또는 --force) image이름: 현재 실행중인 컨테이너 stop 안 하고 바로 삭제 - image 삭제
docker rmi image이름 (ex. docker rmi httpd)
컨테이너가 정지 상태가 아닌 삭제 상태일 때만 image를 삭제할 수 있음
rmi: remove image의 약자
- port 설정
docker run --name container이름 -p 8081:80 image이름
(ex. docker run --name ws3 -p 8081:80 httpd) - container 이름 변경
docker rename container이름 변경할container이름
이때, 각 오브젝트들에게 명령을 내릴 때 그 순서가 있으므로 주의해야한다.
(ex. 순서: 컨테이너 정지 > 컨테이너 삭제 > 이미지 삭제)
cf. 여기 나온 'image이름' 또는 'container이름'은 각각의 ID로도 가능하며, container이름 | containerID와 같이 파이프라인(|)으로 검색할 수도 있다. 이때, ID는 앞의 2~3자만 입력해도 된다. (단, 다른 ID끼리 곂치지 않는 경우에 한함)
docker run과 docker create의 차이
위에서는 docker run 명령어를 통해 image를 실행시킨다고 언급했다. 하지만 엄밀히 말하자면 이는 컨테이너 생성 및 실행과 동시에 컨테이너 내부로 들어가는 명령어이다. docker run 명령어를 실행한 후 셸의 사용자와 호스트 이름이 변경된 것이 컨테이너 내부에 들어왔음을 의미한다.
이번에는 run이 아닌 create으로 컨테이너를 생성하는 것을 알아보겠다. 아래와 같이 명령어를 입력하면 된다.
docker create -i -t --name container이름 image이름:image버전
create로 컨테이너를 생성하였다면 run과 달리 컨테이너 내부로 바로 들어가지 않는다는 것을 알 수 있다. 컨테이너 내부로 들어가려면 attach 명령어를, 컨테이너 내부에서 나가려면 exit 또는 Ctrl+P/Q 명령어를 이용한다.
- attach
docker attach container이름 - exit
exit
컨테이너를 정지시키면서 컨테이너에서 빠져나옴 - Ctrl + P 또는 Ctrl + Q
컨테이너를 정지시키지 않고 컨테이너에서 빠져나옴
run과 create 차이를 정리하자면 아래와 같다.
run: docker pull > docker create > docker start > docker attach(-i -t 옵션 사용한 경우)
create: docker pull > docker create
(출처: 생활코딩, 책 『시작하세요! 도커/쿠버네티스』)
반응형
'Docker, Kubernetes' 카테고리의 다른 글
쿠버네티스 pod, deployment, service 생성/확인/삭제 (kubectl 이용) (0) | 2021.12.08 |
---|---|
[Kubernetes] 쿠버네티스의 서비스 종류 (4개) (0) | 2021.12.03 |
[쿠버네티스] 네임스페이스란? (+생성 방법/프로젝트 접근 방법) (OC) (0) | 2021.11.28 |
[Kubernetes] 쿠버네티스란? 간단한 개념 및 설명 (+Docker 도커) (0) | 2021.11.26 |
Docker란? 간단한 설명(Docker Hub-image-container / pull-run-build) (0) | 2021.11.25 |