
도커를 쓸 때 자주 쓰는 기본 CLI 명령어를 한 번에 보기 좋게 정리.
도커 명령은 기본적으로 다음 형태를 따른다.
docker [명령어] [옵션] ...
예:
docker search ubuntu
docker image ls
docker container run -it --name ubuntu_test ubuntu
help)도커에서 명령어 사용법이 헷갈릴 때는 help 로 바로 확인할 수 있다.
docker help
docker [명령어] --help
# 예)
docker search --help
docker image ls --help
docker container run --help
docker search)Docker Hub 레지스트리에서 원하는 이미지를 검색하는 명령.
docker search [이미지이름]
# 예)
docker search ubuntu
OFFICIAL 에 OK 표시된 항목은 공식 이미지ubuntu 처럼 네임스페이스 없이 레포지토리 이름만 있는 경우가 많다xxxx/ubuntu 형태는 개인/조직이 올린 이미지docker image pull)원격 레지스트리에서 이미지를 로컬로 가져오는 명령.
docker image pull [옵션] 레포지토리명[:태그]
# 예)
docker image pull ubuntu
docker image pull ubuntu:22.04
latest 태그를 사용 (ubuntu:latest)docker image ls)현재 로컬에 저장된 이미지 목록을 확인.
docker image ls
REPOSITORY, TAG, IMAGE ID, CREATED, SIZE 등의 정보를 볼 수 있다docker container run)이미지로부터 새로운 컨테이너를 생성하면서 바로 실행.
docker container run [옵션] 이미지명[:태그]
# 예)
docker container run -d --name ubuntu_test ubuntu
docker container run -it --name ubuntu_test2 ubuntu
자주 쓰는 옵션 정리:
| 옵션 | 설명 |
|---|---|
-d | 백그라운드(detached) 모드로 실행 |
-p | 호스트포트:컨테이너포트 형식으로 포트 매핑 |
-t | 터미널(TTY) 활성화. 보통 -i 와 함께 -it 로 사용 |
-i | 표준 입력을 컨테이너와 연결. 셸로 들어갈 때 사용 |
--rm | 컨테이너가 종료될 때 자동으로 컨테이너 삭제 |
--name | 컨테이너에 이름 부여. 이후 관리할 때 편리 |
예) 셸로 바로 접속 가능한 우분투 컨테이너 실행:
docker container run -it --name ubuntu_test2 ubuntu
컨테이너 내부 셸에서 나갈 때
exit또는Ctrl + D를 사용하면 컨테이너가 종료됨
컨테이너는 살려두고 셸만 빠져나오고 싶으면Ctrl + P, Q
docker container ls)현재 실행 중인 컨테이너 확인:
docker container ls
추가 옵션:
| 옵션 | 설명 |
|---|---|
-a | 종료된 컨테이너까지 모두 보기 |
-f | 필터 조건으로 목록 제한 (--filter 줄임말) |
-n | 최근 n개 컨테이너만 표시 (docker container ls -n 3) |
-l | 가장 최근에 생성된 컨테이너만 표시 |
-q | 컨테이너 ID만 출력 (스크립트에서 자주 사용) |
-s | 컨테이너의 파일 시스템 사용량까지 표시 |
예:
docker container ls -a
docker container ls -f "name=ubuntu"
docker container ls -q
docker container attach)이미 실행 중인 컨테이너의 터미널에 붙어 들어갈 때 사용.
docker container attach [컨테이너명 또는 ID]
# 예)
docker container attach ubuntu_test2
-it 모드로 실행돼 있어야 터미널 접속이 자연스럽다exit 하면 컨테이너도 같이 종료되므로 주의docker container stop)실행 중인 컨테이너를 종료.
docker container stop [컨테이너명 | 컨테이너ID]
# 예)
docker container stop ubuntu_test2
docker container start)이미 만들어진 컨테이너를 다시 실행.
docker container start [컨테이너명 | 컨테이너ID]
# 예)
docker container start 4b
docker container restart)한 번에 종료 후 다시 시작.
docker container restart [컨테이너명 | 컨테이너ID]
# 예)
docker container restart ubuntu_test2
docker container rm)사용하지 않는 컨테이너 제거.
docker container rm [컨테이너명 | 컨테이너ID]
# 예)
docker container rm ubuntu_test
docker container rm ubuntu_test2
기본 규칙:
-f 옵션 사용# 실행 중인 컨테이너 강제 종료 후 삭제
docker container rm -f ubuntu_test2
실행 중인 컨테이너 삭제 방법 정리:
--rm 옵션 사용 → 종료 시 자동 삭제docker container stop 으로 먼저 종료 후 docker container rmdocker container rm -f 로 강제 종료 + 삭제도커는 이미지/컨테이너 명령어에 대해 짧은 축약형도 제공한다.
| full 명령어 | 축약 명령어 |
|---|---|
docker image pull | docker pull |
docker image ls | docker images |
docker container run | docker run |
docker container start | docker start |
docker container ls | docker ps |
docker container stop | docker stop |
실무에서는 축약 명령어를 훨씬 더 자주 쓰게 된다.
도커 작업을 반복하다 보면 사용하지 않는 컨테이너, 이미지가 계속 쌓인다.
이때 정리용으로 쓰는 명령이 prune 계열.
docker container prune)docker container prune
docker image prune)docker image prune
docker system prune)docker system prune
docker system prune -a 등)docker container stats)실행 중인 컨테이너의 CPU, 메모리, 네트워크, I/O 사용량을 실시간으로 보고 싶을 때 사용.
# 컨테이너 실행
docker container run -it --name ubuntu_test3 ubuntu
# 셸만 빠져나오기
Ctrl + P, Q
# 리소스 사용량 확인
docker container stats ubuntu_test3
Ctrl + C 로 stats 화면 종료자주 쓰게 되는 흐름만 다시 정리하면:
docker search ubuntudocker image pull ubuntudocker container run -it --name ubuntu_test ubuntudocker container ls -adocker container stop / start / restartdocker container rm, docker image rmi, prune 계열