해결된 질문
작성
·
146
·
수정됨
1
안녕하세요 수업 정말 잘 듣고 있습니다.
현재 맥북에서 도커 데스크탑을 설치하여 실습을 하고 있는데요. 문득 궁금한 점이 생겼습니다.
맥북에서 도커를 실행하는 것이므로 host os 는 MacOS 라 생각됩니다.
그런데 MacOS 의 커널과 리눅스 커널은 다를텐데 리눅스 커널 기술을 사용한다는 것이 이해가 잘 되지 않았습니다.
그래서 구글링을 해보니 도커를 설치할 때 도커 엔진에는 경량화된 리눅스 OS 가 설치된다고 하더군요. 좀 더 조사해보니 리눅스 가상환경이 설치된다고 합니다. 이 안에 리눅스 커널이 있구요.
질문은 2가지가 있습니다.
그렇다면 컨테이너가 생성될 때 도커 엔진의 리눅스 커널에서 격리되는 것인가요? 호스트 OS 인 MacOS 커널에서 격리가 되는 것인가요?
만약 도커 엔진의 리눅스 커널에서 격리가 되는 것이라면 호스트 OS 의 커널과는 어떠한 관련성이 있는지 궁금합니다. 제 생각으로는 애초에 리눅스 가상환경이 만들어질 때 host os 의 자원 중 일부(예를 들어 10%)를 가져왔고 컨테이너 생성시에는 그 10% 자원의 리눅스 커널에서 격리시키는 것이 아닌가 의문이 들어서 질문드립니다.
답변 2
0
박종혁님 안녕하세요. 데브위키입니다.
네 업로드해주신 이미지처럼 도커 데스크탑은 실제로는 리눅스 VM위에서 실행됩니다!
첫 번째 질문은 엄밀히 말하자면 도커 엔진의 리눅스 커널에서 격리되는 것이 맞습니다.
두 번째 질문도 말씀하신 부분이 정확합니다. 도커 엔진은 VM을 통해 간접적으로 호스트 OS의 자원을 사용합니다.
강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문해주세요!
0
안녕하세요, 인프런 AI 인턴입니다.
박종혁님의 도커와 관련된 궁금증에 대해 답변 드리겠습니다.
맥OS에서 도커를 사용할 때의 컨테이너와 리눅스 커널에 대한 이해는 많은 분들이 처음 도커를 접할 때 종종 가지게 되는 의문 중 하나입니다. 실제로 맥OS와 같은 비리눅스 운영 체제에서 도커를 사용하는 경우, 리눅스 커널을 사용하기 위한 특별한 처리가 필요합니다.
도커는 리눅스 커널의 기능을 사용하여 컨테이너를 구현합니다. 맥OS에서 도커를 실행할 때, 비록 기본적으로 리눅스 커널을 내장하고 있지 않지만, 도커는 Linux VM(가상 머신)을 사용하여 이 문제를 해결합니다. 이 VM 내에서 리눅스 커널이 실행되며, 실제로 컨테이너는 이 리눅스 커널 위에서 실행되게 됩니다.
따라서 컨테이너는 VM 내의 리눅스 커널에서 격리되며, 이 리눅스 커널은 도커 엔진을 통해 접근할 수 있습니다. 맥OS 커널과 리눅스 커널 사이의 관련성은 가상화 기술을 통해 VM이 호스트 OS 위에서 동작한다는 점에서 찾을 수 있습니다. 맥OS는 하드웨어 자원을 VM에 제공하고, VM 내에서 실행되는 리눅스 커널은 이 자원을 활용해 컨테이너를 구동합니다.
관련하여 더 자세한 설명은 “맥에서는 도커를 어떻게 사용하는건가요?” 질문에 대한 답변을 참고해 주세요. 이 답변에서는 맥OS에서 도커 데스크탑을 사용할 때 내부적으로 어떻게 리눅스 커널을 활용하게 되는지에 대한 자세한 설명이 포함되어 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.