#docker #kubernetes #container #orchestrator #microservice #infrastructure-as-code #devops #ci #cd 제목HyperKit2020-04-26 11:51작성자drsungwon 먼저 HyperKit의 공식 홈페이지를 구경 바랍니다.https://github.com/moby/hyperkit 저자가 밝히듯이 "lightweight virtual machines and container deployment" 용도 입니다.VirtualBox 홈페이지를 보면 이렇죠."VirtualBox is a general-purpose full virtualizer for x86 hardware, targeted at server, desktop and embedded use."하나는 경량, 하나는 Full 입니다.그렇다면, macOS에서의 Docker/HyperKit는 무슨 역할 일까요? 아래 글을 읽어 봅니다.https://collabnix.com/how-docker-for-mac-works-under-the-hood/ 수업 중 Docker의 편리함은 다양한 OS에서 동작하지만 그것이 쉽겠는가 라고 한적이 있습니다.즉, macOS는 Docker의 밑에 HyperKit을 두고 활용 합니다.여기서 본인의 질문에서 궁금한 부분은 다른 부분입니다.즉, docker-machine 등으로 가상 호스트(VM)를 만드는 Docker 위의 내용이 되겠지요.이때 docker-machine의 기본 driver가 virtualbox 입니다.virtualbox는 대부분의 OS에서 가상 호스트를 만들수 있으니, 동일한 Infrastructure as a Code를 실현하는 가장 호환성이 높은 driver 지요.반대로 docker-machine은 OS 독립적 범용성을 우선시 하기에, 모든 OS에서 구동되는 기술을 기본으로 한 거죠.여기서 본인이 굳이 macOS에 HyperKit이 있고, 본인이 동작하는 가상 호스트가 "light weight VM 혹은 container"라면 HyperKit을 고려 가능합니다.단,, 몇년전까지 docker-machine 등의 기술은 HyperKit을 virtualbox 대신 사용하는 driver를 지원하는데 애로가 있었습니다.docker-machine에서 가상 호스트를 HyperKit으로 구동하는 driver도 나온지 2년입니다.https://github.com/machine-drivers/docker-machine-driver-hyperkit 따라서 지금은 docker-machine 명령에서 virtualbox 대신 HyperKit을 사용하는 것이 가능합니다.이러한 이유로 가능하면 Linux를 쓰는 것도 좋을 것이라고 하고, 회사에 가면 Linux가 사실상 표준 개발/운영 환경이다 라고 한 것입니다.Linux가 태생인 이런 container 기술들은 대부분 linux에서는 이렇게 복잡(?)한 기술을 쓰지 않습니다.결론입니다.1) Docker가 macOS에서 구동하기 위해서는 Docker 밑에서 hypervisor를 하는 기술이 필요하며, 필연적으로 OS에 dependency를 갖는 기술이 투입되는데, 현재 HyperKit 입니다.2) Docker-machine과 같이 가상 호스트를 만들어서 container를 동작시킬때 docker-machine 등의 명령으로 동작 가능해야 합니다. 가장 많이 쓰이고 호환성이 높은 기술인 virtualbox를 사용하는 것이 일반적인데, 본인이 위의 기술들을 모두 이해하고 있다면, 2년전 나온 hyperkit-driver를 사용하여 macOS에서만 돌아가는 환경으로 hyperkit 기반 컨테이너가 가능합니다.간단한 부분이 아니기에 간만에 길게 답변을 하였습니다. ^^ 목록답변글쓰기 댓글 [1] 댓글작성자(*)비밀번호(*)내용(*) 댓글 등록 더보기이전맥에서 docker-mahine create 시 "VBoxManage not found." 에러질문 있습니다!2020-04-26다음denied: requested access to the resource is denied 이슈 해결 방안수강생2020-04-24 Powered by MangBoard | 워드프레스 쇼핑몰 망보드