도커 이미지 삭제하기
현재 도커 허브로부터 다운받은 이미지 목록은 다음과 같다.
이미지 삭제
도커에서 이미지 삭제 명령어는 docker rmi(remove image)이다.
ubuntu의 경우 현재 2가지 버전이 존재한다.
이때는 이미지 이름 대신 IMAGE ID를 입력해 삭제해준다.
설치되어 있는 docker/getting-started 이미지를 삭제하려 하는 경우 다음과 같이 문제가 발생한다.
- 에러 코드를 자세히 읽어보면 해당 이미지가 컨테이너로 실행중이기 때문에 삭제할 수 없다.
- 이런 경우 실행 중인 컨테이너를 종료시킨 후 삭제를 다시 진행해야 한다.
컨테이너 종료
컨테이너 종료 명령어는 docker stop이다.
이때 docker stop 289 같이 해당 이미지의 IMAGE ID를 작성해주면 에러가 발생한다.
현재 우리가 종료시키고자 하는 건 이미지가 아닌 프로세스 이므로 docker ps 명령어를 사용한다.
그후 다시 docker rmi 명령어를 통해 해당 이미지를 삭제하려 해도 정상적으로 수행되지 않을 것이다.
- 정지된 컨테이너도 프로세스이기 때문에 해당 이미지를 삭제할 수 없다.
docker ps 명렁어에 -a 옵션을 사용해 존재하는 모든 프로세스를 확인할 수 있다.
그후 프로세스 삭제 명령어(docker rm)를 사용해 해당 프로세스를 삭제시켜 준다. (정지된 프로세스는 삭제할 수 있다.)
마지막으로 해당 이미지를 삭제하면 정상적으로 삭제되는 것을 확인할 수 있을 것이다.
정리
이미지는 하드디스크에 저장된 파일이다.
컨테이너는 프로세스로 메모리에 할당되어 있으며 '실행중', '종료' 상태가 존재한다.
컨테이너를 폐기하려면 먼저 컨테이너를 정지시켜야 한다.
동작 중인 컨테이너를 그대로 삭제할 수는 없다.
컨테이너를 정지시키려면 docker stop (docker container stop),
컨테이너를 삭제하려면 docker rm (docker container rm) 커맨드를 사용한다.
만약 실행중인 컨테이너에 대한 이미지를 삭제하고 싶다면 실행중인 컨테이너를 docker stop 명령어를 통해 종료시킨 후 docker rm 명령어를 사용해 해당 프로세스를 제거한다.
그 후 docker rmi 명령어를 통해 해당 이미지를 삭제하면 된다.
'Docker' 카테고리의 다른 글
컨테이너 포트포워딩 및 데몬으로 실행 (0) | 2023.05.25 |
---|---|
도커 컨테이너 실행하기 (0) | 2023.05.24 |
도커 컨테이너의 생애주기와 데이터 저장 (0) | 2023.05.24 |
도커 작동 원리 (0) | 2023.05.24 |
도커, 도커허브설치 및 도커허브 회원가입 (0) | 2023.05.24 |