5.1 명령어 docker images
만약 네 시스템에 이미 Docker 이미지가 저장되어 있다면, 이를 관리하기 위한 특별한 명령어들이 있어. 가장 먼저 얘기할 건 docker images
와 docker rmi
야. 이번 강의에서는 Docker 이미지를 효과적으로 관리하기 위해 이 명령어들을 어떻게 사용하는지 자세히 살펴볼 거야.
명령어 docker images
는 네 시스템에 로컬로 저장된 이미지 목록을 보여줘. 이 명령어는 repository 이름, 태그, 이미지 ID, 생성 날짜, 그리고 크기 같은 데이터를 표시해줘. 이 정보들은 어떤 이미지들이 사용 가능한지, 그리고 얼마나 많은 공간을 차지하고 있는지를 빠르게 평가할 수 있도록 도와줘.
문법:
docker images [OPTIONS] [REPOSITORY[:TAG]]
여기서:
-
OPTIONS
: 출력 필터링 및 서식 지정용 추가 매개변수. -
[REPOSITORY[:TAG]]
: (선택사항) repository 이름 및/또는 태그로 필터링.
기본 사용 예제
이 예제는 로컬에 저장된 모든 이미지 목록을 출력해줘.
docker images
명령어 docker images
의 출력 예제:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5a7e5b1a3b8c 2 days ago 133MB
ubuntu 20.04 ba6acccedd29 3 weeks ago 72.9MB
myapp 1.0 d1e5e2ff5ff2 1 month ago 89.5MB
컬럼 설명:
- REPOSITORY: 이미지가 속한 repository 이름.
- TAG: 이미지 버전을 나타내는 태그.
- IMAGE ID: 이미지의 고유 식별자.
- CREATED: 이미지가 생성된 이후 경과된 시간.
- SIZE: 메모리 내 이미지 크기.
5.2 이미지 필터링
이미지 필터링을 사용하면 docker images
명령어 결과를 제한해서 네 기준에 맞는 이미지만 볼 수 있어. 이건 시스템에 많은 이미지가 보관되어 있을 때, 특정 이미지를 레포지토리 이름, 태그 또는 다른 매개변수로 빠르게 찾고 싶을 때 유용해.
1. 레포지토리로 필터링
docker images nginx
이 예는 nginx
레포지토리에서 나온 이미지들만 표시할 거야.
2. 태그로 필터링
docker images ubuntu:20.04
이 예는 ubuntu
이미지의 20.04
태그를 가진 이미지를 표시할 거야.
3. -a (all)
파라미터 사용하기
기본적으로 docker images
명령은 최신 버전의 이미지들만 보여줘. 모든 이미지 (중간 레이어 포함)를 표시하려면 -a
옵션을 사용해봐.
docker images -a
4. 출력 형식 지정
읽기 편하거나 다른 도구와 통합하기 위해 --format
옵션으로 출력 형식을 사용자 정의할 수 있어. 이건 스크립트나 작업 자동화에 특히 유용해.
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
5.3 docker rmi
명령
docker rmi
명령은 하나 이상의 Docker 이미지 삭제에 사용돼. 이거는 디스크 공간을 확보하고, 특히 더 이상 사용되지 않는 이미지를 정리할 때 유용해.
문법:
docker rmi [OPTIONS] IMAGE [IMAGE...]
여기서:
- OPTIONS: 삭제 프로세스를 제어하기 위한 추가 옵션.
- IMAGE: 삭제하려는 이미지의 이름, 태그 또는 ID.
기본 사용 예시
이 예시는 nginx
라는 이름의 이미지를 삭제해.
docker rmi nginx
이미지 ID로 삭제
이 예시는 5a7e5b1a3b8c
라는 ID를 가진 이미지를 삭제해.
docker rmi 5a7e5b1a3b8c
강제 삭제
이미지가 컨테이너에서 사용 중이거나 잠겨 있는 경우 기본 삭제가 불가능할 수도 있어. 강제 삭제하려면 -f (force)
옵션을 사용해.
docker rmi -f myapp:1.0
여러 이미지 삭제
한 번에 여러 이미지를 삭제하려면 공백으로 나열해.
docker rmi nginx ubuntu:20.04 myapp:1.0
5.4 실습 예제
예제 1: 모든 이미지 보기
로컬 머신에 저장된 모든 이미지를 보려면 다음 명령어를 실행해:
docker images
이 명령은 저장소 이름, 태그, 이미지 ID, 생성 날짜 및 크기가 포함된 테이블을 보여줌.
예제 2: 출력 포맷팅으로 이미지 보기
예를 들어 저장소 이름과 태그만 출력하고 싶을 때, 커스텀 포맷을 사용하려면:
docker images --format "{{.Repository}}:{{.Tag}}"
이 예제는 --format
옵션을 사용해서 출력 포맷을 설정하는 방법을 보여줘, 스크립트 작성 시 편리함.
예제 3: 사용하지 않는 모든 이미지 삭제
컨테이너에서 사용하지 않는 이미지를 모두 삭제하려면 먼저 목록을 가져오고, 그런 다음 삭제를 수행해:
docker images -q
docker rmi $(docker images -q)
docker images -q
명령은 로컬에 저장된 모든 이미지의 ID만 출력하며, 해당 ID는 docker rmi
명령으로 삭제에 사용됨.
예제 4: dangling 이미지 삭제
Dangling images
란 태그가 없는 이미지로, 이미지 업데이트나 빌드 실패 후에 남게 됨. 이를 삭제하려면 다음 명령어를 사용해:
docker rmi $(docker images -f "dangling=true" -q)
여기에서 -f "dangling=true"
는 태그가 없는 이미지를 필터링하며, -q
는 해당 ID만 출력해서 삭제 명령에 전달함.
GO TO FULL VERSION