인프라 & 클라우드 · 기초
도커 이미지가 레이어(layer)로 구성된다는 것은 무슨 의미이며, 레이어 구조가 어떤 이점을 주나요?
힌트 · 이미지가 읽기 전용 레이어들의 누적으로 만들어진다는 점과 저장공간/전송 측면의 이점 관점에서 접근하세요.
이미지 계층공유효율성재사용캐싱
모범답안
도커 이미지는 여러 개의 읽기 전용 레이어들이 쌓여서 만들어집니다. 각 레이어는 파일 시스템의 변경 사항을 나타내며, 마치 겹겹이 쌓인 얇은 시트와 같다고 생각하시면 됩니다.
이러한 레이어 구조는 몇 가지 중요한 이점을 제공합니다. 첫째, 효율성입니다. 여러 이미지가 동일한 베이스 레이어를 공유할 경우, 해당 레이어는 한 번만 저장되고 여러 이미지에서 재사용됩니다. 이는 저장 공간을 크게 절약해 줍니다. 둘째, 빠른 전송입니다. 이미지를 다운로드하거나 업로드할 때, 이미 존재하는 레이어는 건너뛰고 변경된 레이어만 전송하면 되기 때문에 훨씬 빠르게 완료됩니다. 마지막으로 재사용성과 캐싱 측면에서도 유리합니다. 빌드 과정에서 각 레이어는 캐시될 수 있어, 동일한 명령이 다시 실행될 때 캐시된 레이어를 활용하여 빌드 시간을 단축할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 DevOps / CI·CD 면접 질문
- Docker의 이미지와 컨테이너의 차이점에 대해 설명해주세요.
- CI 파이프라인의 일반적인 단계(빌드, 테스트 등)를 순서대로 설명하고, 각 단계에서 무엇을 하는지 말씀해주세요.
- CI(지속적 통합)와 CD(지속적 배포/전달)는 각각 무엇을 의미하며, Continuous Delivery와 Continuous Deployment는 어떻게 다른가요?
- Dockerfile로 이미지를 빌드할 때 레이어 캐시(build cache)는 어떻게 동작하며, 캐시를 잘 활용하려면 명령어 순서를 어떻게 배치하는 것이 좋은가요?
- 컨테이너와 가상머신(VM)의 차이를 격리 방식과 리소스 사용 측면에서 설명해주세요.
- Docker와 가상머신(VM)의 차이점에 대해 설명해주세요.