Tutoriel Linux

컨테이너 머신: WSL과 유사한 네이티브 Linux 환경을 Mac에서 즐겨보세요.

Débutant2 min de lecture
À retenirLinux n'est pas réservé aux experts. Le bon point de départ : une distribution accessible, une sauvegarde propre et quelques commandes comprises.

Windows 사용자에게 WSL(Windows Subsystem for Linux)은 Windows 내에서 Linux를 직접 실행하는 데 가장 적합한 솔루션이 되었습니다. Mac에서는 최근 Apple의 컨테이너 도구용 모드인 Container Machine이 등장하기 전까지는 이와 유사한 솔루션이 사실상 없었습니다. Container Machine은 macOS 26을 실행하는 Apple Silicon Mac에서 네이티브하고 지속적이며 통합된 Linux 환경을 제공합니다.

기존 컨테이너와 달리, 이 경량 가상 머신은 Mac과 Linux 간에 홈 디렉터리를 공유하면서 서비스를 시작할 수 있는 완벽한 시스템을 제공합니다. 그 결과, 개발이나 Bash 스크립팅에 이상적인 유연한 환경이 조성됩니다.

컨테이너 머신의 특징은 무엇인지, 실제 작동 방식은 어떤지, 그리고 맥에서 리눅스를 사용하는 새로운 방식으로 주목받는 이유는 무엇인지 알아보겠습니다.

컨테이너 머신: Apple Silicon Mac에서 네이티브 Linux를 위한 새로운 시대

컨테이너 머신은 애플의 오픈 소스 컨테이너 도구에 새로 추가된 기능입니다. 단순히 일회용 컨테이너를 실행하는 것이 아니라, 완전한 리눅스 시스템이 설치된 영구적인 가상 머신을 생성합니다.

가장 큰 장점은 세션 간 상태를 유지할 수 있다는 점입니다. 패키지를 설치하고, 서비스를 시작하고, 환경을 마음대로 수정할 수 있습니다. 일반적인 애플리케이션 컨테이너보다 진정한 리눅스 시스템에 훨씬 가깝습니다.

기술적인 관점에서 이 모드는 이미지 내에서 초기화 시스템(주로 systemd)을 시작하고 macOS의 $HOME 디렉토리를 시스템에 마운트합니다. 따라서 macOS에서 편집한 코드를 번거로운 코드 복제 없이 Linux에서 직접 사용할 수 있습니다.

윈도우 서브시스템 포 리눅스와 놀라울 정도로 유사합니다.

Windows 환경에서 WSL을 사용해 본 관리자와 개발자라면 이러한 비교가 자연스러울 것입니다. 둘 다 가벼운 가상 머신에서 진정한 Linux 커널을 제공하기 때문입니다.

파일 시스템 통합 또한 중요한 점입니다. WSL에서는 Windows 디스크에 접근할 수 있지만, 컨테이너 환경에서는 macOS 사용자 디렉터리가 읽기/쓰기 권한으로 공유됩니다.

macOS를 종료하지 않고도 복잡한 시나리오를 테스트할 수 있는 중요한 유연성을 제공하는 실제 Linux 서비스(적절한 이미지에서 systemd 지원)를 실행할 수 있습니다.

머신 컨테이너를 배포하고 생산성을 높이는 방법

필수 조건: Apple Silicon 칩이 장착된 Mac, macOS 26 설치, 그리고 컨테이너 도구 서비스가 실행 중인 상태(컨테이너 시스템 시작)여야 합니다. 이러한 단계를 완료하면 생성은 간단합니다.

호환되는 초기 Linux 이미지(예: alpine:latest 또는 수정된 Ubuntu)에서 시작합니다. 예를 들면 다음과 같습니다.

컨테이너 머신 생성 alpine:latest –name devbox

이 시스템이 실행되면 간단히 “컨테이너 머신 실행 -n devbox” 명령을 입력하여 사용자 계정으로 셸을 열고 $HOME macOS에 직접 접근할 수 있습니다.

macOS와 Linux 간에 파일을 간편하게 공유하세요.

가장 큰 장점은 파일 공유의 완전한 투명성입니다. Docker 볼륨이나 복사본을 통해 파일을 교환하는 대신, Linux 환경에서 Mac의 홈 디렉터리를 직접 사용합니다.

리눅스 서버용 스크립트를 개발 중인데 macOS는 유틸리티의 BSD 버전을 사용한다고 가정해 봅시다. 로컬에서 테스트하면 예상치 못한 오류가 종종 발생합니다.

컨테이너 환경을 사용하면 이 스크립트는 macOS 편집기에서 편안하게 작업하면서 실제 Linux 환경에서 실행되어 GNU 도구와 관련된 불일치를 감시합니다.

systemd를 사용하여 Ubuntu 환경을 구축하고 서비스를 시작하세요.

systemd를 사용하여 컨테이너 환경을 구축하는 것은 다소 기술적인 작업입니다. 애플 문서에 포함된 공식 Dockerfile을 사용하여 초기화 시스템이 포함된 사용자 지정 Ubuntu 이미지를 빌드해야 합니다.

컴파일(Rosetta 2 필요)이 완료되면 머신이 생성됩니다.

컨테이너 머신 생성 local/ubuntu-machine:latest –name devubuntu

이 시점부터 systemctl을 통한 관리 명령을 포함한 모든 표준 시스템 명령을 사용할 수 있습니다. 예를 들어 Apache와 MariaDB를 설치하고, 서비스를 시작하고, 자동 시작되도록 설정할 수 있습니다!

macOS에서 IP 주소를 확인하고 웹 서버에 접속하세요.

해당 머신은 가상 네트워크 내에서 고유한 IP 주소를 가지고 있습니다. “container machine ls” 명령어를 사용하여 이 주소를 확인할 수 있습니다.

다음으로, Mac 브라우저에 URL을 입력하면 컨테이너 시스템 내에서 호스팅되는 Apache 홈페이지가 열립니다. 이 상태는 시스템 종료 또는 재시작 후에도 유지됩니다.

이 구성은 이 머신 모드를 가벼운 가상 머신에 더 가깝게 만들지만, 특히 macOS-Linux 개발에 최적화되어 있습니다.

소프트웨어를 여러 환경에 배포하여 다양한 환경에서 테스트하십시오.

또 다른 중요한 장점은 서로 다른 배포판을 사용하는 개별 머신을 만들 수 있다는 것입니다. 데비안, 우분투, 알파인 등 각 머신은 동일한 macOS 홈 디렉토리를 공유합니다.

결과적으로 표준 설정 파일(.bashrc, .gitconfig 등)은 이러한 환경 전반에 걸쳐 동기화된 상태를 유지합니다. 이는 크로스 플랫폼 프로젝트의 안정성이나 호환성을 검증하는 데 유용합니다.

이는 Mac에서 작업하는 모든 Linux/Unix 관리자 또는 개발자에게 드물고 반가운 기회입니다.

2026년에 유념해야 할 몇 가지 제한 사항

이 프로젝트는 아직 초기 단계이며 계속 발전하고 있습니다. WSL과는 달리, Linux 그래픽용 WSLg에 해당하는 기능은 없습니다. macOS와 Linux 간의 상호 운용성은 현재 파일 공유에만 국한되어 있습니다.

KVM을 통한 중첩 가상화는 현재 애플 실리콘에서 사용되지 않지만, 향후 버전에서 사용될 가능성이 있습니다.

마지막으로, 완성도나 풍부한 기능이 중요한 경우에는 Lima, Multipass 또는 OrbStack과 같은 대안을 고려해 볼 수 있습니다.

sudo apt update && sudo apt upgrade