TL;DR
- Range는 이미지를 먼저 내려받지 않아도 최대 1TB 규모의 Linux 환경을 빠르게 여는 도구로, 최초 인덱싱 이후에는 환경에 따라 1초 이내에 실행 가능함.
- Docker 이미지의 첫 실행에서는 이미지를 내려받고 모든 레이어를 인덱싱하며, 이 작업은
docker pull과 마찬가지로 한 번만 수행됨. python:3.12환경은 두 번째 실행에서 2.82초 만에 준비되며, 실행 결과 Python 3.12.14 확인 가능함.python:3.12와python:3.13은 처음 네 레이어를 공유해, 후속 버전 실행 시 400MB 중 30MB만 내려받음.- 미리 인덱싱한
.range형식은 다운로드량을 크게 줄이며, Go 환경 사례에서는 1GB 중 6MB만 내려받고 1.85초 뒤 실행 가능함.
Docker 이미지 실행
range shell python:3.12를 처음 실행하면 이미지를 내려받고 모든 레이어를 인덱싱하며, 같은 이미지를 다시 실행할 때는 이 과정을 반복하지 않음.- 두 번째 실행의 환경 정보는 논리적 크기 1.35GB, 런타임
darwin/arm64, 대화형 워크로드, 이전 세션 4회, 준비 시간 2.82초임. - 실행 환경에서 확인한 Python 버전은 3.12.14임.
python:3.13실행 시python:3.12와 공유하지 않는 레이어만 인덱싱하며, 레이어 5~7의 크기는 각각 6.20MB, 26.89MB, 249바이트임.- 두 이미지가 처음 네 레이어를 공유하므로 총 400MB 중 30MB만 내려받음.
`.range` 이미지 실행
https://github.com/andreygrehov/range/releases/download/demo/go1.23-arm64.range를 지정하면 파일 시스템이 이미 인덱싱된.range환경을 실행하며, 별도 인덱싱이 필요하지 않음.- 사례에서는 전체 1GB 중 6MB만 내려받고 1.85초 뒤 환경에 진입하며, 확인된 Go 버전은
go1.23.12 linux/arm64임. - 향후 상위 NN Docker 이미지를 인덱싱해, 첫 실행에서도 다운로드가 필요하지 않도록 할 계획임.
- 자세한 내용은 Range 웹사이트와 GitHub 저장소에서 확인 가능함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요