Doker란?

image.png

도커의 원리

도커는 컨테이너 기반의 가상화 기술로, 각각의 애플리케이션이 독립된 환경에서 실행되도록 해준다. 컨테이너는 가상 머신과는 다르게 호스트 운영 체제의 커널을 공유하며, 가벼운 환경에서 격리된 프로세스들을 실행할 수 있다. 이로 인해 여러 개의 컨테이너가 하나의 운영 체제 위에서 실행되지만, 서로 독립적이고 안전하게 동작할 수 있다.

컨테이너는 하드웨어와 운영 체제를 가상화하는 대신, 운영 체제의 커널을 공유하고, 필요한 라이브러리나 의존성만 포함시켜, 가상 머신보다 훨씬 더 효율적이고 경량화된 환경을 제공한다. 이로 인해 빠른 시작 시간과 낮은 리소스 소모가 가능하다.

도커와 가상 머신의 차이점

도커와 가상 머신.png

<aside> 💡

도커는 자원을 효율적으로 관리할 수 있어, 많은 수의 컨테이너를 한 시스템에서 실행할 수 있으며, 각 컨테이너가 동일한 하드웨어 리소스를 공유하면서도 서로 독립적으로 실행된다. 반면, 가상 머신은 각각 별도의 운영 체제를 포함하고 있기 때문에, 동일한 하드웨어에서 가상 머신을 많이 실행하면 성능 저하가 발생할 수 있다.

운영 체제 커널 공유

컨테이너는 호스트 OS의 커널을 같이 쓰면서도, 프로세스(작업)를 완전히 분리해 격리된 상태로 실행한다. 그래서 여러 컨테이너가 동시에 실행되어도 서로 영향을 주지 않고 독립적으로 동작할 수 있다.