Comment
Docker에 대한 개념을 잡아보자
Reference :
도커(Docker)와 가상머신(Virtual Machine) 비교
도커 컨테이너(Container)와 이미지(Image)란?
Docker vs. Virtual Machines
도커와 컨테이너의 이해(1/3) [!] 도커관련 명령어 등 잘 설명되어 있어서 추가 20231027
[+] Immutable : adj. 변경할 수 없는, 불변의
[+] Paradigm : n. 전형적인 예(양식), 패러다임, 실례
Immutable Infrastructure는 OS와 서비스환경(어플리케이션, 소스코드, 라이브러리 등의 서버에 설치하는 것들)들을 이미지화(실행파일화)하여 배포, 또한 가급적 변경하지 않는 어떤 불변하는 덩어리, 즉 인프라 개념
따라서 서비스 환경의 업데이트는 서비스 환경 자체를 변경하는 것이 아닌 다른 이미지로의 교체를 의미함
뭐 아직 위 그림을 정확하게 이해하기는 어렵지만 포인트는 Guest OS라는 것의 존재 유무. 도커(컨테이너)는 1개의 OS를 다수의 Application가 공유하는 반면 Virtual Machine은 각각의 Application이 각각의 OS를 보유한다는 점에 집중해보자
1개의 Host OS위에 Docker Engine을 설치하여 다수의 서비스, 즉 Application을 운영하는 형태. Application 단위의 Container에는 OS가 포함되어 있지 않으므로 상대적으로 가벼움
가상머신이란 1개의 서버를 다수개의 서버로 전환하는 개념으로 생성됨.
1개의 Host OS에서 다수의 Guest OS를 사용. 각 VM은 독립되어 있고 OS를 포함하므로 상대적으로 무거우나 보안성 측면에서는 좋음.
Docker는 서비스 환경,인프라 부분을 이미지(실행파일, 데몬이미지처럼?)화하여 가급적 변경하지 않고 사용한다.
도커에서 Application 서비스에 필요한 프로그램, 소스코드, 라이브러리, 컴파일된 실행파일을 묶는 형태를 Docker Image라고 한다. 즉, 컨테이너 생성 및 실행에 필요한 모든 파일과 세팅값을 가진 것
Layer란 기존 이미지에 추가적인 파일이 필요할 때 다시 다운로드받는 방법이 아닌 해당 파일을 추가하기 위한 개념이다.
Docker Image를 실행한 상태