KimMinJun
Coding Note
KimMinJun
전체 방문자
오늘
어제
  • 분류 전체보기 (503) N
    • CS (1)
    • Web (25) N
      • Vanilla JS (13)
      • TS (2)
      • React (7)
      • Next.js (1) N
      • ETC (1)
    • Docker (14)
    • Git (5)
    • ALGORITHM (11)
      • 정렬 (6)
      • 최단경로 (1)
      • 자료구조 (1)
      • 슬라이딩 윈도우 (1)
      • etc (2)
    • PS (432)
      • 백준 (187)
      • Programmers (105)
      • CodeUp (21)
      • STL (3)
      • 제코베 JS 100제 (50)
      • SWEA (0)
      • LeetCode (65)
    • IT (1)
    • React 공식문서 (번역, 공부) (11)
      • Quick Start (2)
      • Installation (0)
      • Describing the UI (9)
      • Adding Interactivity (0)
      • Managing State (0)
      • Escape Hatches (0)
    • Next.js 공식문서 (번역, 공부) (3)
      • Getting Started (2)
      • Building Your Application (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

인기 글

태그

  • Level1
  • recursion
  • 다이나믹 프로그래밍
  • Level 2
  • C
  • tree
  • string
  • 제코베 JS 100제
  • C++
  • 그래프
  • 백준
  • Level 1
  • LeetCode
  • Level 0
  • js
  • programmers
  • 정렬
  • 수학
  • 문자열
  • codeup

최근 댓글

최근 글

hELLO · Designed By 정상우.
KimMinJun

Coding Note

도커 이미지 조회 / 삭제하기
Docker

도커 이미지 조회 / 삭제하기

2025. 7. 31. 04:39

2025.07.30 - [Docker] - 도커 이미지 다운로드 하기

 

도커 이미지 다운로드 하기

컨테이너를 실행하려면 도커 이미지가 필요하다.이미지를 다운받기 위해서는 다음과 같은 명령어를 입력하면 된다.docker pull 그리고 다운받은 이미지 리스트를 보고 싶으면 다음과 같은 명령어

jun-coding.tistory.com

 

지난 포스팅에서 이미지를 다운로드 하고, 조회를 하는 기능을 알아봤다.

이미지를 조회했을 때 어떤 정보들이 나오는지 아주 조금 더 자세히 알아보자.

 

이미지 조회하기

아래 명령어로 다운로드 받은 이미지를 조회할 수 있었다.

docker image ls

  설명
REPOSITORY 이미지 저장소 명을 나타낸다.
TAG 이미지의 버전을 나타낸다.
IMAGE ID 각 이미지에 부여된 고유한 ID를 나타낸다.
CREATED 이미지를 다운로드 한 날짜가 아닌 이미지가 생성된 날짜이다.
SIZE 이미지의 용량을 나타낸다.

 

이미지 삭제하기

기존에 있던 nginx 이미지를 삭제해보자.

IMAGE ID를 rm 명령어와 함께 입력하여 삭제할 수 있다.

ID의 일부만 입력해줘도, 입력한 ID로 시작하는 이미지가 삭제된다.

docker image rm <IMAGE ID>

 

그런데, 다음과 같은 에러가 뜨면서 삭제되지 않았다.

이전에 nginx 이미지가 실행중인 컨테이너를 stop 시켜놨었는데,

stop 중인 컨테이너에 있는 이미지이기 때문에 삭제할 수 없다는 에러가 뜬다.

왜 컨테이너가 stop 상태임에도 삭제할 수 없을까?

 

도커 이미지는 '컨테이너를 만들기 위한 설계도나 템플릿 같은 존재'라고 했었다.

컨테이너의 실행/정지 상태와 상관없이 컨테이너가 존재한다면 그 이미지를 참조중이다.

따라서 이미지가 사라지면 컨테이너 파일시스템이나 구조에 문제가 생기게 된다.

그래서 먼저 컨테이너를 삭제한 후, 이미지를 지워야 한다.

 

위 터미널 캡쳐본 마지막에 컨테이너 id가 보일 것이다.

다음과 같은 명령어로 컨테이너를 먼저 지워주자.

docker rm <CONTAINTER ID>

 

그리고 나서 다시 이미지를 삭제하고,

이미지 목록을 다시 보면 잘 삭제가 된 것을 볼 수 있다.

만약 중단된 컨테이너가 사용하는 이미지를 이런 과정 없이 삭제하고 싶다면,

다음 명령어로 강제로 삭제해주면 된다.

여기서 중요한 것은 이 명령어는 '중단된 컨테이너'가 사용하는 이미지만 삭제 가능하다는 것이다.

docker image rm -f <IMAGE ID>

 

만약 컨테이너가 사용하고 있지 않은 이미지들을 모두 삭제하고 싶다면 다음 명령어를 입력하면 된다.

docker image rm -f $(docker images -q)

 

여기서 `docker images -q`는 로컬에 있는 모든 이미지의 ID를 출력한다.

그리고 $()로 감싸주게 되면, 이것들을 앞에 있는 명령어의 인자로 넘겨주게 된다.

따라서 모든 도커 이미지의 ID를 불러와서,

모든 ID에 삭제 명령어를 내린다고 생각하면 된다.

저작자표시 (새창열림)

'Docker' 카테고리의 다른 글

컨테이너 관련 명령어 알아보기  (2) 2025.07.31
컨테이너 생성 / 실행하기  (2) 2025.07.31
도커 이미지 다운로드 하기  (0) 2025.07.30
Docker를 활용해서 Nginx 설치 및 실행하기  (1) 2025.07.30
    'Docker' 카테고리의 다른 글
    • 컨테이너 관련 명령어 알아보기
    • 컨테이너 생성 / 실행하기
    • 도커 이미지 다운로드 하기
    • Docker를 활용해서 Nginx 설치 및 실행하기
    KimMinJun
    KimMinJun

    티스토리툴바