맥에서는 도커를 어떻게 사용하는건가요?
2862
작성한 질문수 12
맥에서 iterm에 접속하고 docker -version을 치면 docker server의 os가 linux로 나와있어서 그때부터 의문점이 생겨 질문드립니다.
도커가 리눅스 커널(Namespace, Cgroups)를 활용하여 컨테이너를 만들고 관리하는 것 같습니다. 그런데 맥에서는 어떻게 이게 가능한건지 궁금합니다.
제 예상으로는 도커 데스크탑이 어떤 기술에 의해 리눅스명령을 도커에 실행하면 도커가 명령을 받고 필요한 시스템 콜을 요청할때 도커 데스크탑이 맥 os가 알아들을 수 있게 변환작업을 하는 것같은데 맞는 걸까요?
답변 1
4
인프런님 안녕하세요, 데브위키입니다.
도커 데스크탑의 실행 구조에 대해 궁금한 점이 생기셨군요. 좋은 질문 감사드립니다.
실제로 도커는 리눅스의 커널의 기술을 활용하기 때문에, 윈도우와 맥OS는 기본적으로 지원하지 않습니다.
그래서 도커 데스크탑(Docker Desktop)은 윈도우나 맥OS의 하이퍼바이저 가상화 기술을 사용하고 있는데요.
윈도우/맥OS에서 리눅스 가상머신을 실행한 다음에, 그 리눅스의 커널을 사용해서 컨테이너 환경을 구성하는 것입니다.
컨테이너 가상화 기술을 사용하기 위해 하이퍼바이저 가상화 기술을 활용하는 것이죠.
이 설명을 그림으로 표현하면 아래와 같습니다.

윈도우에서는 WSL2, 맥OS에서는 HyperKit이라는 가상화 기술을 사용한답니다.
그래서 docker version이라는 명령어를 사용했을 때, 이 명령어를 받아서 실행하는 도커 데몬은 실습PC에서 실행 중인 것이 아니라, 리눅스 가상머신에서 실행 중이기 때문에 OS가 linux로 보이는 것입니다.
질문에 답변이 되셨는지요? 강의 들으시면서 궁금하신 점이 생기면 편하게 질문 주세요.
완강까지 응원하겠습니다!
2
추가로 정보를 드리자면, 윈도우에서는 도커 데스크탑 없이 윈도우 네이티브 컨테이너를 사용하실 수 있는 방법도 있습니다. 윈도우 네이티브 컨테이너를 사용하면, 리눅스처럼 Windows OS의 커널을 사용해 컨테이너를 생성하고 실습할 수 있습니다.
다만 대부분의 컨테이너 운영환경은 리눅스가 대부분이기 때문에, 실습 PC로 윈도우를 사용하시더라도 도커 데스크탑을 사용해 리눅스용으로 학습하시는 것이 좋은 방법이라고 생각됩니다.
관련 링크도 함께 공유 드립니다 ☺
https://learn.microsoft.com/ko-kr/virtualization/windowscontainers/about/
0
안녕하세요 해당 그림을보고 궁금증이 생겼는데요
리눅스가 아닌 다른 운영체제에서 가상머신과 리눅스를 설치하고 게스트 os에서 프로그램을 실행시키는것과
리눅스가 아닌 다른 운영체제에서 도커를 설치하고 컨테이너를 띄우는것은
성능적으로는 비슷한건가요?? 아님 도커에서 컨테이너를 띄울떄 사용되는 가상머신이 더 성능이 좋나요?? 아님 같은 메커니즘으로 작동하는걸까요??
33강 도커 빌드 강의의 docker file
0
34
1
개발환경에서 도커 설정
1
94
2
vscode 터미널 설정 관련 질문
0
92
1
쿠버네티스 강의 언제 나오나요..
2
127
2
postgresql-repmgr:15 지원 종료에 따른 대체 이미지 변경 질문드립니다!
1
174
2
섹션 9. 레이어 관리에서 alpine OS 사용 관련 질문 있습니다!
1
68
2
도커 가상 네트워크와 Stateless 특징 관련 질문
1
73
2
우분투 설치
0
68
2
도커 보안을 실무에서 어떻게 대비하시는지 궁금합니다.
1
230
2
컨테이너를 활용한 개발환경 통일에 관하여
1
91
2
k8s 강의 일정
1
113
2
컨테이너의 Stateless 제약 관련 질문
0
95
1
docker push 하는 중 "single-platform image ..." 메세지가 나오고, docker hub에 image와 tag가 정상적으로 등록되지 않습니다.
2
97
1
docker pull [이미지] 다운로드시 에러 해결 방법 문의
1
435
2
강의 재생 오류
1
86
1
Remote JVM Debug Setting
1
105
1
빌드 방식에 대해 질문 있습니다.
1
99
2
컨테이너 레이어 질문 있습니다.
1
106
1
컨테이너 가상화 호스트 OS
1
154
2
강의 이미지 사용
1
168
2
도커컴포즈 오류
0
158
2
USER 명령어와 관련하여 질문드립니다
1
112
1
강의 예정
1
176
2
실행오류
1
211
3





