Docker 이미지 삭제 사용하지 않는 도커 이미지 용량 정리

도커 이미지 삭제로 서버 공간 확보! 안 쓰는 이미지 싹 밀어내는 실전 노하우

서버를 운영하다 보면 어느 순간 디스크 크기가 부족하다는 경고가 뜨곤 하죠. 저도 예전에 프로젝트를 여러 개 돌리다가 100기가가 넘는 영역이 순식간에 사라져서 당황했던 기억이 나요. 원인을 찾아보니 그동안 테스트하며 쌓아둔 자료들이 문제였더라고요. 오늘은 답답한 마음을 뻥 뚫어줄 수 있게 깔끔하게 정리하는 방식을 단계별로 공유해 드릴게요.

먼저 내 컴퓨터에 무엇이 쌓여 있는지 확인해 볼까요?

무작정 지우기보다 어떤 게 자리를 많이 차지하는지 먼저 파악하는 게 중요해요. 터미널 창에 docker images라고 입력하면 현재 보관 중인 목록이 쭉 나옵니다. 여기서 리포지토리 이름과 태그, 무게를 꼼꼼히 살펴보세요. 예상보다 과거에 쓰던 무거운 파일들이 많이 남아 있어서 놀라실지도 몰라요.

고민되는 Docker 이미지 삭제, 특정 이미지만 골라 지우려면?

필요 없는 걸 발견했다면 이제 하나씩 없애줄 차례입니다. 고유 아이디나 이름을 알고 있다면 docker rmi 뒤에 해당 정보를 붙여주기만 하면 끝나요. 저는 주로 nginx:latest처럼 태그까지 명확히 적어서 실수하지 않도록 조심하는 편이에요. 한 번만 해보면 정말 간단하다는 걸 느끼실 거예요.

명령 종류주요 기능
rmi특정 항목을 제거할 때 씀
prune미사용 항목 일괄 소거
system prune전체 데이터 대청소

가끔은 문구가 안 먹힐 때가 있는데, 그럴 때 강제로 Docker 이미지 삭제를 진행하려면 -f 옵션을 쓰면 됩니다. 가동 중인 컨테이너가 발목을 잡고 있을 가능성이 높으니 그 부분도 점검해 보세요.

남김없이 다 비우는 Docker 이미지 삭제 비법은?

하나씩 없애기엔 너무 많을 때가 있죠? 그럴 땐 쉘 스크립트의 힘을 빌리면 편해요. 모든 식별자를 한꺼번에 불러와서 처리하는 루트를 쓰면 수십 개의 데이터도 단 몇 초 만에 사라지거든요. 덕분에 제 노트북도 30기가 정도의 자유를 찾았답니다.

태그가 없는 일명 유령 요소들은 Docker 이미지 삭제 명령 중 하나인 prune으로 한 번에 정리 가능해요. docker image prune을 입력하면 현재 연결되지 않은 찌꺼기들을 알아서 걸러줍니다. 조금 더 강력하게 비우고 싶다면 -a 옵션을 붙여보세요. 정말 속이 시원해지는 기분이 들 거예요.

작업 도중 오류가 발생한다면 어떻게 대처하나요?

가장 흔한 문제는 ‘본체를 활용 중’이라는 메시지예요. 이럴 땐 당황하지 말고 docker ps -a로 멈춰있는 환경이 있는지 체크해 보세요. 그 녀석들을 먼저 치워야 알맹이가 사라집니다. 저도 초보 시절엔 왜 안 될까 고민했는데, 연결 고리를 끊어줘야 한다는 걸 배우고 나니 금방 해결되더라고요.

마지막으로 전체 시스템을 소독하듯이 비우고 싶다면 system prune이 정답입니다. 캐시부터 네트워크까지 싹 치워주니 주기적으로 해주면 참 좋아요. 다만 소중한 설정까지 날아가지 않게 주의하는 거 잊지 마세요. 번거로운 Docker 이미지 삭제 과정을 줄여주죠. 주기적인 Docker 이미지 삭제 습관을 통해 서버를 쾌적하게 유지해 보세요.

자주 묻는 질문

지우기가 안 되는 이유는?

컨테이너가 점유 중입니다.

전체를 한 번에 없애려면?

rmi에 쿼리를 조합하세요.

prune 기능의 이점은?

안 쓰는 것만 골라내요.