방명록
- Docker 이미지 및 컨테이너 관리 명령어 실습(이미지 다운로드/조회/삭제, 컨테이너 생성/실행/조회/중지/삭제)2025년 07월 08일 11시 31분 24초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
Docker 이미지 및 컨테이너 관리 명령어 실습(이미지 다운로드/조회/삭제, 컨테이너 생성/실행/조회/중지/삭제)
1. 도커 이미지 다운로드 및 확인
docker pull [이미지 이름][:태그]
: 도커 이미지를 다운로드하는 명령어이다. 태그를 명시하지 않으면 기본적으로latest
태그의 이미지를 다운로드한다.
docker pull nginx docker pull nginx:1.29.0-bookworm-perl
docker image ls
: 현재 로컬에 다운로드된 도커 이미지 목록을 확인하는 명령어이다.
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 9592f5595f2b 13 days ago 192MB nginx 1.29.0-bookworm-perl 25508052a323 13 days ago 240MB
2. 도커 이미지 삭제
docker image rm [이미지 ID 또는 이름]
: 특정 도커 이미지를 삭제하는 명령어이다. 이미지 ID의 앞부분만 입력해도 삭제가 가능하다.
docker image rm 255 # nginx:1.29.0-bookworm-perl 이미지 삭제
- 실행 중이거나 중단된 컨테이너가 이미지를 사용 중일 때 삭제 오류: 이미지가 컨테이너에 의해 사용 중인 경우, 강제로 삭제하려면
-f
옵션을 사용한다.
docker image rm 959 # 사용 중인 이미지 삭제 시도 (에러 발생) docker image rm -f 959 # 강제 삭제
3. 도커 이미지 전체 삭제 시도 (오류 발생)
docker image rm $(docker images -q)
: 모든 도커 이미지 ID를 가져와서 삭제하는 명령어이다.cmd
환경에서는$()
문법이 동작하지 않아 오류가 발생한다. PowerShell에서는 정상 동작한다.
docker image rm $(docker images -q) # cmd 환경에서 오류 발생
4. 도커 컨테이너 생성 및 실행
docker create [이미지 이름]
: 도커 컨테이너를 생성하지만 실행하지는 않는다.
docker create nginx
docker ps -a
: 모든 컨테이너 목록을 확인하는 명령어이다. (-a
옵션은 중단된 컨테이너도 포함하여 보여준다.)
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 873ed746a092 nginx "/docker-entrypoint.…" 26 seconds ago Created confident_dirac 49426ebead2e nginx "/docker-entrypoint.…" 22 hours ago Exited (0) 2 hours ago my-nginx
docker start [컨테이너 ID 또는 이름]
: 생성된 컨테이너를 실행하는 명령어이다.
docker start 873
docker ps
: 현재 실행 중인 컨테이너 목록을 확인하는 명령어이다.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 873ed746a092 nginx "/docker-entrypoint.…" About a minute ago Up 7 seconds 80/tcp confident_dirac
docker run [이미지 이름]
: 이미지가 없으면 다운로드 후 컨테이너를 생성하고 실행하는 명령어이다. 컨테이너가 foreground로 실행되어 터미널을 점유한다.
docker run nginx
docker run -d [이미지 이름]
: 컨테이너를 백그라운드(-d
또는--detach
)로 실행하는 명령어이다.
docker run -d nginx
docker run -d --name [컨테이너 이름] [이미지 이름]
: 컨테이너에 이름을 지정하여 백그라운드로 실행한다.
docker run -d --name my-web-server nginx
docker run -d -p [호스트 포트]:[컨테이너 포트] [이미지 이름]
: 호스트의 특정 포트(-p
또는--publish
)를 컨테이너의 포트에 연결하여 실행한다(크롬 브라우저의 시크릿 모드에서 실습할 것, 일반 모드에서는 단축키ctrl + shift + r
적절히 사용할 것).
docker run -d -p 4000:80 nginx
5. 도커 컨테이너 중지 및 삭제
docker stop [컨테이너 ID 또는 이름]
: 실행 중인 컨테이너를 정상적으로 중지하는 명령어이다.
docker stop 873
docker rm [컨테이너 ID 또는 이름]
: 중지된 컨테이너를 삭제하는 명령어이다. 여러 컨테이너를 동시에 삭제할 수 있다.
docker rm 873 96 49 # 여러 컨테이너 ID를 한 번에 삭제
docker kill [컨테이너 ID 또는 이름]
: 실행 중인 컨테이너를 강제로 종료하는 명령어이다.stop
보다 빠르지만, 컨테이너에 시그널을 보내지 않으므로 데이터 손실의 위험이 있다.
docker kill d4
docker rm -f [컨테이너 ID 또는 이름]
: 실행 중인 컨테이너를 강제로 삭제하는 명령어이다.stop
과rm
을 한 번에 처리하는 것과 같다.
docker rm -f 08 ab 86
docker rm -f $(docker ps -qa)
: 모든 중지되거나 실행 중인 컨테이너를 강제로 삭제하는 명령어이다.powershell
에서는 정상 동작하지만cmd
에서는 오류가 발생한다.
6. 사용하지 않는 도커 이미지 정리
docker image prune -a
: 사용하지 않는 모든 도커 이미지를 삭제하는 명령어이다. 컨테이너와 연결되지 않은 모든 이미지를 삭제한다. 삭제 전 확인 메시지가 나타난다.
docker image prune -a
docker image prune -a -f
: 확인 메시지 없이 강제로 모든 사용하지 않는 도커 이미지를 삭제하는 명령어이다.
docker image prune -a -f
728x90반응형'DevOps > Docker' 카테고리의 다른 글
도커(Docker) 기본 명령어 실습: 컨테이너 생성 및 관리 (3) 2025.07.14 Docker 볼륨을 이용한 데이터 영속성 확보 실습(PostgreSQL, MongoDB) (5) 2025.07.11 Docker를 이용한 MySQL 컨테이너 실행(볼륨 마운트) 및 문제 해결 (1) 2025.07.10 도커(Docker) 컨테이너 로그 확인, 컨테이너 내부 명령어 실행(logs, exec) 및 redis 컨테이너 활용 예제 (6) 2025.07.09 윈도우에서 Docker 설치 시 겪었던 난관, 그리고 해결 (2) 2025.07.07 다음글이 없습니다.이전글이 없습니다.댓글