[33, 34] 이미지 & 컨테이너 삭제하기

    728x90
    반응형

     

    [이미지 & 컨테이너 삭제하기, 중지된 컨테이너 자동 제거하기]

     

    기본 명령어 정리

    # 실행 중인 컨테이너 목록
    docker ps
    
    # 모든 컨테이너 목록 (중지된 것 포함)
    docker ps -a
    
    # 모든 이미지 목록
    docker images

     

     

    컨테이너 관리

    컨테이너 제거

    # 단일 컨테이너 제거
    docker rm 컨테이너이름
    
    # 여러 컨테이너 동시 제거
    docker rm 컨테이너1 컨테이너2 컨테이너3

     

    자동 제거 설정

    • 새로 생성한 컨테이너에만 사용할 수 있어서 docker run 명령어에만 --rm 플래그 사용 가능
    • docker start 명령어에선 사용 불가능
    # 컨테이너 종료 시 자동 제거
    docker run --rm 이미지이름

     

    주의사항

    • 실행 중인 컨테이너는 직접 제거 불가
    • 제거 전 반드시 컨테이너 중지 필요
    docker stop 컨테이너이름
    docker rm 컨테이너이름

     

     

     

    이미지 관리

    이미지 제거

    # 단일 이미지 제거
    docker rmi 이미지ID
    
    # 여러 이미지 동시 제거
    docker rmi 이미지ID1 이미지ID2

     

    사용하지 않는 모든 이미지 정리

    docker image prune      => dangling 이미지만 삭제 (물론 이로 생성한 컨테이너도 없어야함)
     
    docker image prune -a   => 사용하지 않는 모든 이미지 삭제 (이로 생성한 컨테이너가 없다)

     

    이미지 제거 시 주의사항

    • 해당 이미지로 만든 컨테이너가 있으면 제거 불가
    • 실행 중이거나 중지된 컨테이너 모두 해당
    • 컨테이너 먼저 제거 후 이미지 제거 가능

     

    ♨ dangling 이미지?

    • 이미지의 repository (이름), tag 명이 모두 none 인경우
    • docker build 명령어에 -t를 붙이지 않고 이미지 생성했을 때
    • docker build -t로 새 이미지 생성 시 기존 존재하던 이미지와 같은 태그를 만들면, 기존에 있던 이미지의 태그는 none:none 이 되서 dangling 이미지가 된다
    • 이미지 빌드 실패할때도 중간 단계 이미지가 dangling 이미지로 남을 수 있음
    • 기존 이미지 삭제하면서 의존하던 레이어가 dangling 이미지로 남을 수 있음  

     

     

    효율적인 관리 방법

    자동 제거 활용

    • 임시 컨테이너는 --rm 플래그 사용
    • 테스트용 컨테이너에 특히 유용

    정기적인 정리

    • 사용하지 않는 컨테이너 제거
    • 불필요한 이미지 정리
    • 디스크 공간 관리

    작업 순서

    1. 컨테이너 중지
    2. 컨테이너 제거
    3. 이미지 제거

    이러한 관리 방법을 통해 도커 환경을 효율적으로 유지할 수 있습니다.

     

     

     

    참조

    https://www.udemy.com/course/docker-kubernetes-2022

     

    728x90
    반응형

    댓글