CS/배포
도커 이미지 배포 이후 컨테이너와 이미지 깔끔하게 정리하는 방법
기억용블로그
2022. 7. 5. 12:02
728x90
기존의 빌드 이후 실행되던 쉘스크립트는 빌드와 실행 자체는 잘 되지만
기존에 존재하던 이미지와 컨테이너를 삭제하지 못 하고 계속해서 증식하던 문제가 발생했다.
기존 쉘스크립트는 올릴 필요가 없을 정도로 완벽하게 깔끔한 정답을 찾아서 공유한다!
쉘스크립트
cd ~/deploy
docker-compose pull
docker-compose up -d --remove-orphans
yes | docker image prune
1. docker-compose.yml이 존재하는 폴더의 위치로 이동하고
2. 이미지를 새로 받아온다
3. 컨테이너를 재시작한다. 어디에도 연결되지 않은 컨테이너는 여기서 삭제된다.
4. yes | docker image prune은 사용되고 있지 않은 이미지를 삭제하는 과정인데
꼭 필요한 과정이 아니며 이미지를 삭제하므로 조심해서 사용해야 한다!
yes | 는 prune의 과정에서 프롬프트로 정말 삭제할 것인지 물어보는데 이에 대한 대답을 미리 지정해둔 것이다.
결과는 매우 잘 작동한다 :D
레퍼런스
https://stackoverflow.com/questions/49316462/how-to-update-existing-images-with-docker-compose