위의 사진에서 왼쪽에서 오르쪽으로 소프트 웨어 운영 플랫폼이 바뀌고 있다.
하이퍼바이저
는 가상머신을 구동할 수 있게 해주는 소프트웨어로, Docker는 하이버바이저 구조를 토대로 등장했고 각 컨테이너 안에 다른 환경을 구축할 수 있다.
App 환경에 맞추어 독립된 공간인 컨테이너 생성
리눅스 커널의 기능으로 만들어졌기 때문에, 리눅스 커널이 없으면 컨테이너를 돌릴 수 없다.
커널 기능
window, mac 에서 사용하려면 리눅스엔진 활성화 필요
=> 구조가 다름
Dockerfile 생성 -> build -> Container 생성
Dcokerfile 예시
FROM node:12
COPY
ENTRYPOINT
node app.js 실행
nodejs
- 프로그램 어디서든 돌아감!
- 확장/축소 쉬움
=> MSA, DevOps 적합
app 운영환경
👉🏻 고객사마다 환경이 다르더라도 동작 가능
일반은 OS가 같이 확장되어야한다.
👉🏻 하지만 컨테이너는 엔진을 제외하고 컨테이너만 확장되기 때문에 확장/축소가 쉽고 빠름