기업 환경에서는 보안상의 이유로 외부 인터넷이 차단된 폐쇄망에서 Docker를 운영하는 경우가 많습니다. 이런 환경에서는 이미지를 업데이트하거나 새로 배포하려면 외부에서 docker save로 저장한 이미지 파일을 수동으로 가져와 docker load로 로드해야 합니다.
하지만 이미지가 수 GB 이상일 경우, 조금만 수정해도 전체를 다시 옮겨야 하는 비효율이 발생합니다.

Docker 이미지는 여러 읽기 전용 레이어의 조합입니다. 동일한 레이어는 여러 이미지 간에 중복 저장 없이 공유됩니다. 이 구조 덕분에 변경된 레이어만 전달하면 충분하며, 나머지는 캐시로 재사용할 수 있습니다.

폐쇄망에서는 자동 캐싱이 어렵기 때문에, 변경된 레이어만 따로 묶어 전송하는 전략을 사용합니다. 이를 자동화하기 위해 Python 기반의 docker-diff 툴이 개발되었으며, compare 모드와 merge 모드로 각각 비교와 병합을 수행할 수 있습니다.

이미지가 자주 업데이트되는 환경에서는 증분 방식의 업데이트를 통해 네트워크 자원과 시간을 아끼고, 배포의 신뢰성과 속도를 향상시킬 수 있습니다.
가능하다면 증분 패키지 생성, 전송, 병합 과정까지 자동화하여 실수를 줄이고 안정성을 높이는 것을 권장합니다.

https://blog.sionic.ai/enterprise-update-docker-strategy

폐쇄망에 private docker registry를 구축이 불가능한가요? 왜 이렇게 복잡하게 구축하죠?

인프라 여건이 된다면 내부 컨테이너 레지스트리 운영이 가장 이상적일 수 있고

라는 구절이 끝쪽에 있네요... 슬픈 사연이 있는 듯 합니다 🫠

아마 아키텍처나 인프라 상 제약사항이 있지 않을까요? AI 구동에 필요한 최소한의 하드웨어만 고객사에 납품된다던지 할 것 같습니다