회사 스터디 자료에서 하나 따옴
VM은 host OS - virtual OS - Server Application
컨테이너는 host OS - Server Application
컨테이너는 리눅스의 커널을 끌어와서 사용하므로 오버헤드가 적음
정확한 것은 아니지만 VM은 성능손실이 10% 컨테이너는 3%대라는 말이 있다 카드라
성능 측면에서도 유리함이 있지만 컨테이너를 받아서 몇가지 설정만 하고 실행만 해주면 쉽게 쓸 수 있다는 것도 장점임
컨테이너 이미지를 통해 컨테이너를 만들며 이미지가 설계도라면 컨테이너는 제작품 같은 거임
예를 들어서 내 리눅스 서버에 마리아디비를 깔려면 권한도 있어야되고 yum도 쓸줄알아야되고 설치하고 쓰는데 뭔가 이상하게 안되네? 씨바...이런게 있다면 컨테이너는 그냥 이미지 받아서 실행만 하면 됨
존나쉽죠?
가장 유명한 도커가 컨테이너랑 동일시되긴 하는데 컨테이너는 사실 도커랑은 별개의 개념이고 도커는 컨테이너를 효율적으로 관리할 수 있게 해주는 관리자 데몬이라고 보면 됨
컨테이너 개념 자체는 원래부터 있었지만 쓰기가 조또 불편해서 도커처럼 효율적으로 쓸 순 없었음
여담이지만 도커 데몬은 http 프로토콜을 사용해서 리눅스 cli환경에서 뭐 안해도 그냥 http 프로토콜로 POST 뭐 이런거 쏘면 인식 한대
ㄱㅅㄱㅅ
무슨회사길래 이런스터디도하냐
딩동딩동댕
컨테이너는 vm보다 쓰기 어려운거 아녀?
노놉. 추상화 계층이 다를 뿐 같다고 봐도 무방. vm은 os가상화 컨테이너는 어플리케이션 가상화
도커-컨테이너 자체는 사용자 진입장벽이 있는 편이긴 함
벤더사가 이미지별로 설정해야할 메타정보 등을 제공해 주고 있는데 그 부분의 설정이 실제보다 좀 복잡할 순 잇어
실제 사용하기 위한 환경에서를 이야기하는거라면 확실히 그런듯. 벤더사마다 다르고 만드는놈들 마다 다르니
재대로이해할려면 자원공유를 어떤방식으로하는지 알아야될듯
이제 namespace랑 cgroup을 설명하자