다시 시작하고 모든 컨테이너가 최신 이미지를 사용하도록 하고 이미지를 삭제하지 않는 방법은 무엇입니까?

다시 시작하고 모든 컨테이너가 최신 이미지를 사용하도록 하고 이미지를 삭제하지 않는 방법은 무엇입니까?

다음 명령을 사용하여 모든 <none>도커 이미지를 삭제합니다.

docker images | grep none | awk '{ print $3; }' | xargs docker rmi

하지만 다음 오류가 발생합니다.

Error response from daemon: conflict: unable to delete 00d1bd49dd01 (cannot be forced) - image is being used by running container a36783d86ab9

다시 시작할 때 최신 이미지를 사용할 것이라고 생각하면서 이 명령을 사용하여 모든 컨테이너를 다시 시작해 보았습니다.

docker restart $(docker ps -q)

그러나 그것은 아무런 차이가 없습니다.

그렇다면 모든 컨테이너를 강제로 최신 이미지로 전환하고 <none>이미지를 삭제하려면 어떻게 해야 할까요?

답변1

재부팅할 때 최신 이미지를 사용할 것이라고 생각합니다.

이는 docker가 수행하도록 설계된 작업과 작동 방식에 어긋납니다!

그래서 아니야. 컨테이너 시작컨테이너 다시 시작. 새로운 이미지는 추출되지 않습니다! Docker의 요점은 이미지가 변경 불가능하다는 것입니다. 컨테이너를 명시적으로 삭제하고 다른 이미지를 기반으로 새 컨테이너를 만들어야 합니다.

관련 정보