질문 답변하기
그렇다면 docker를 사용하여 어플리케이션을 띄울 때에는 직접 띄우는것보다 성능적으로 낮아질 우려는 없을까요?
도커는 독립적으로 HW와 OS를 사용하는 가상머신이 아닌 프로세스기 때문에 도커로 프로세스를 띄워도 성능적으로 큰 문제는 없습니다.
도커는 프로세스처럼 똑같이 메모리의 유저 영역에 띄워지며 컴퓨터의 OS, H/W 의 자원 요청을 대리해주는 Docker Engine 을 통해 OS와 하드웨어 자원을 사용하기 때문에 마치 가상 머신처럼 동작하는 것입니다.
하지만 도커 엔진을 구동하는 비용이 있기 때문에 도커의 장점이 필요한 경우가 아니라
단순하게 컨테이너 하나를 장기간 걸쳐서 띄우는 상황처럼 굳이 도커 엔진을 띄우는 것은 낭비일 수 있습니다.
컨테이너가 OS, HW 를 공유하면서 격리된 환경을 제공하는 기술은 아래 두 기술 덕분입니다.
출처 : https://moozii-study.tistory.com/entry/쿠버네티스-1-4-1-도커-네트워크와-의존성-문제
Docker , 그리고 컨테이너에 사용되는 커널기능들에 관하여