전공영역 공부 기록

운영체제별 컨테이너(엔진) 실행 원리

악분 2022. 7. 14. 13:28
반응형

1. 들어가며

M1맥북에어를 구매하여 쿠버네티스를 설치하는 중!! 재밌는 사실을 발견했습니다. 리눅스 운영체제가 아닌 다른 운영체제(윈도우, MAC)에서 컨테이너를 실행하기 위해서 별도의 가상머신을 구축하는 것 같습니다. 컨테이너 엔진(Docker, Containerd 등)은 리눅스 운영체제에 동작하므로 중간단계 가상머신을 설치하여 리눅스 커널을 관리하는 것으로 추측됩니다.

 

 

예를 들어, containerd를 사용한다면 윈도우와 Mac OS는 중간단계에 가상머신이 존재합니다. (mac os기반 Docker dekstop의 아키텍처 잘 모르겠네요 ㅜ.ㅜ)

 

그래서, 이 글은 각 윈도우와 MAC OS에서 어떤 가상머신을 사용하는지 간단하게 살펴보려고 합니다!. 예제 컨테이너 엔진은 Containerd를입니다.

 

2. 윈도우 운영체제 컨테이너 엔진 실행방법

윈도우는 윈도우 서버(server) OS와 서버가 아닌 OS로 분류할 수 있습니다. 윈도우 서버는 제가 사용해보지 않아서 말씀드릴수가 없네요. 윈도우 서버가 아닌 OS는 WSL2를 사용하여 컨테이너 엔진을 실행합니다. WSL2에서 윈도우 커널을 관리하고 그 위에 컨테이너 엔진을 실행하는 구조인 것 같습니다. MS공식문서에 언급된것처럼 WSL2부터는 hyper-v VM에서 실행됩니다. 

출처:https://docs.microsoft.com/ko-kr/windows/wsl/faq#wsl-2--hyper-v---------windows-10-home---windows-11-home-----------

 

3. Mac 운영체제 컨테이너 엔진 실행방법

Mac OS는 윈도우와 다르게 VM이 여러가지가 있어 사용자가 선택할 수 있습니다. Docker가 조건부 유료화가 되면서 Lima VM을 대체로 사용하는 것 같아요. 

출처:https://github.com/lima-vm/lima

 

 

 

반응형