비유를 들자면,
서버개발자는 음악가이고, 음악가는 개인 작업실에서 작업을 함. 음악이 완성 되어서, 콘서트장에서 음악을 연주하려고 함.
여기서 음악가 개인작업실의 악기, 음향시스템 등이 로컬개발환경 이고,
콘서트장의 악기, 음향시스템 등이 배포 개발환경임. 배포 개발환경은 주로 Linux 임.
그리고 AWS EC2 는 콘서트장을 제공해주는 업체 또는 중개업체 .
콘서트장에서 발매된 음악을 똑같이 연주하기 위해선 개인작업실과 환경을 맞춰야 함
그러기 위해 음향팀 외주업체를 고용함(세팅해주는)
만약 고용하지 못한다면 음악가 스스로 일일히 세팅을 다 해야함
여기서 외주업체가 Docker 임.
Dockerfile :
- 외주업체 에게 주는 매뉴얼. 내가 원하는 음향시스템과 세팅방법을 상세히 적은 설명서. 이걸 바탕으로 외주업체가 내 요구사항에 맞게 음향 세팅을 준비함
Docker Image :
- 외주업체가 메뉴얼 따라 준비한 음향 장비 세트. 매뉴얼(도커파일) 을 기반으로 세팅된, 악기,스피커 등 모든 준비물이 포함된 패키지. 이 패키지(도커이미지)는 어디서든 동일한 세팅으로 사용될 수 있도록 완성된 상태,
Docker Container :
- 실제 콘서트장에서 세팅된 상태. 음향장비세트를 가지고 콘서트장에서 실제로 작동하는 시스템. 콘서트장에서 연주할 준비가 완료된 실제구동상태.
제대로 이해한것 같다.
'기술면접준비' 카테고리의 다른 글
스프링 빈 (0) | 2024.10.13 |
---|---|
CORS 가 무엇인지, 문제 해결은 어떻게? (0) | 2024.10.12 |
github action을 이용한 CICD 파이프라인 자동화 (0) | 2024.10.10 |
Docker와 컨테이너, 오케스트레이션? (0) | 2024.10.10 |
JVM (0) | 2024.10.10 |