처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.06.10 35

맥에서 도커 없이 리눅스 컨테이너 돌리기 — 애플 container의 '컨테이너 머신' 뜯어보기

Hacker News 원문 보기
맥에서 도커 없이 리눅스 컨테이너 돌리기 — 애플 container의 '컨테이너 머신' 뜯어보기

맥북에서 컨테이너, 사실 뒤에서 무슨 일이 벌어지냐면

혹시 맥에서 docker run을 한 번이라도 써보셨다면, 그 뒤에서 실제로 무슨 일이 일어나는지 궁금했던 적 없으세요? 사실 맥은 리눅스가 아니거든요. 그런데 컨테이너라는 기술은 리눅스 커널의 기능(프로세스를 격리하는 네임스페이스, 자원을 제한하는 cgroups 같은 것들)을 빌려 쓰는 물건이에요. 그러니까 엄밀히 말하면 맥에서는 리눅스 컨테이너를 그냥은 못 돌려요.

그럼 우리가 평소에 어떻게 돌렸던 걸까요? Docker Desktop은 이 문제를 '몰래 리눅스 가상머신(VM) 하나를 띄워두는' 방식으로 풀어왔어요. 우리가 docker run으로 컨테이너 10개를 띄우면, 그 10개가 전부 백그라운드에 숨어 있는 하나의 커다란 리눅스 VM 안에서 옹기종기 같이 돌아가는 구조죠. 평소엔 잘 보이지 않지만, 메모리를 통째로 잡아먹거나 팬이 도는 이유가 바로 이 숨은 VM 때문이에요.

애플이 오픈소스로 공개한 container 프로젝트는 바로 이 구조 자체를 다르게 설계했어요. 그리고 이번에 정리된 '컨테이너 머신(container machine)' 문서가 그 핵심인 VM 계층을 설명하는 부분이라 한 번 짚어볼 만해요.

'컨테이너 머신'이 뭐냐면

쉽게 말하면, 컨테이너를 실제로 품고 돌려주는 리눅스 VM 그 자체예요. 애플의 접근법이 흥미로운 지점은, 도커처럼 거대한 VM 하나에 모든 컨테이너를 몰아넣는 게 아니라 컨테이너마다 가볍고 작은 전용 VM을 따로 띄우는 방향을 택했다는 거예요.

이게 가능한 이유는 맥에 이미 들어있는 Virtualization 프레임워크와, 애플이 같이 공개한 Containerization이라는 Swift 패키지 덕분이에요. 무거운 범용 VM이 아니라 컨테이너 한 개를 돌리는 데 딱 필요한 최소한의 리눅스만 담은 초경량 VM이라, 부팅이 거의 순식간에 끝나요. '가상머신'이라고 하면 보통 무겁고 느린 걸 떠올리는데, 여기서 말하는 머신은 그 통념을 깨는 1초 안팎의 가벼운 녀석이라고 보면 돼요.

그래서 컨테이너 머신 문서는 결국 이런 이야기를 해요. '네 컨테이너 밑에는 이런 리눅스 VM이 깔려 있고, 이 VM을 어떻게 시작하고 멈추고 관리하느냐'를요. 우리가 평소엔 신경 안 쓰던 그 '숨은 층'을 애플은 드러내놓고 다루는 거죠.

도커 방식이랑 뭐가 다른가

가장 큰 차이는 격리(isolation) 수준이에요. 도커 데스크톱처럼 한 VM 안에 컨테이너를 다 넣으면, 그 컨테이너들은 커널을 공유해요. 반면 애플 방식은 컨테이너마다 VM이 분리돼 있으니, 컨테이너 하나가 문제를 일으켜도 다른 컨테이너 영역까지 침범하기가 훨씬 어려워요. 보안 관점에선 꽤 매력적인 모델이죠.

또 하나, containerOCI 표준 이미지를 그대로 써요. 쉽게 말해 우리가 이미 쓰던 도커 이미지를 그대로 받아서 돌릴 수 있다는 뜻이에요. 완전히 새로운 생태계를 배우는 게 아니라, 익숙한 이미지를 새로운 실행 방식 위에 얹는 거예요. 다만 애플 실리콘(M 시리즈) 칩과 최신 macOS에 최적화돼 있어서, 인텔 맥이나 구버전에선 이야기가 달라질 수 있어요.

비슷한 흐름으로는 가벼운 VM 위에서 컨테이너를 격리하는 Kata Containers, 아마존이 만든 Firecracker 마이크로VM 같은 게 있어요. 'VM의 격리 + 컨테이너의 가벼움'을 동시에 노린다는 점에선 같은 계보인데, 애플은 이걸 맥OS와 자사 칩에 딱 맞춰 OS 레벨에서 통합했다는 게 차별점이에요.

한국 개발자에게 주는 시사점

주변에 맥북으로 개발하는 분들 정말 많잖아요. 그동안 Docker Desktop의 라이선스 정책이나 무거운 리소스 점유 때문에 OrbStack 같은 대안을 찾던 분들도 많았는데, 애플이 직접 OS에 녹인 컨테이너 런타임을 내놨다는 건 로컬 개발 환경 선택지가 하나 더 늘었다는 뜻이에요. 특히 보안이 중요한 환경이라면 컨테이너별 VM 격리는 분명한 장점이고요.

다만 당장 프로덕션을 갈아엎을 물건은 아니에요. 리눅스 컨테이너를 맥에서 '로컬 개발용'으로 돌리는 데 초점이 맞춰져 있고, 생태계도 아직 초기 단계거든요. 그래서 지금은 '실무 즉시 도입'보다는 컨테이너가 맥에서 실제로 어떻게 돌아가는지 그 원리를 이해하는 교재로 보는 게 좋아요. 평소 무심코 쓰던 도커 뒤의 숨은 VM 구조를 이걸 보면서 제대로 이해하게 되거든요.

마무리

한 줄로 정리하면, 애플의 container는 '컨테이너마다 초경량 VM 하나씩'이라는 발상으로 맥에서의 컨테이너 실행을 다시 설계한 프로젝트예요. 여러분은 어떠세요? 컨테이너별 VM 격리가 주는 보안 이점이 매력적으로 느껴지나요, 아니면 컨테이너 수만큼 VM이 뜨는 오버헤드가 더 걱정되나요? 로컬 개발 환경, 다들 요즘 뭘로 돌리고 계신지도 궁금하네요.


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

AI 도구, 직접 활용해보세요

AI 시대, 코딩으로 수익을 만드는 방법을 배울 수 있습니다.

AI 활용 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.