Docker 2

[ Docker ] Container & Docker 작동 원리

이전 게시물에서 다뤘던 가상화 기술(VM, Hypervisor)의 단점을 보완하는 Container 기술이 등장했다. VM의 단점프로세스 단위로 격리하고 싶은 경우, OS 레벨조차도 가상화해야 할 파트가 너무 많다.VM 마다 고유한 OS(게스트 OS)가 필요하기 때문에, 각각 CPU, RAM 및 기타 리소스 등 별도의 자원를 소비하며 보다 많은 시간과 자원을 낭비하게 된다.완전한 운영체제가 올라가기 때문에, 실행 자체만으로도 대량의 메모리가 필요하다. 프로세스의 경우 전환이 매우 빠르고 애플리케이션들이 대부분의 시간을 sleep 상태로 있기에, 여러 개의 VM들이 CPU를 경쟁해도 크게 문제가 되지 않는다. 하지만 메모리는 CPU 만큼 빠르게 전환(자원 회수) 할 수가 없기에 대량의 메모리를 가지고 있어..

Docker 2024.03.07

[ Docker ] 컨테이너 기술 (LXC 와 Docker)

이전 게시물에서 가상화에서 VM과 Container를 알아보았다. 그럼 이번에는 컨테이너 기술과 가장 널리 쓰이는 오픈소스인 Docker 에 대해서 이 때까지 학습한 내용을 다뤄보겠다. 게시물 하나로 끝내려고 했는데 공부하다보니까 세세한 것까지 작성하다보니 이 페이지에서는 컨테이너 기술의 주요 구성요소들을 다루고 다음 페이지에서 Docker에 대해 자세히 정리하겠다. Linux Container(LXC)와 Docker Linux Container(LXC) 단일 리눅스 시스템에 동작하고 있는 프로세스를 격리시켜 각 프로세스마다 독자적인 리눅스 시스템 환경을 구축한 것. 'OS 수준에서의 가상화'이다. 일반적으로 가상화는 하이퍼바이저(Hypervisor)라는 논리적 플랫폼을 이용하여 하나의 Host OS 위..

Docker 2024.03.06