Dla użytkowników systemu Windows WSL (Windows Subsystem for Linux) stał się podstawowym rozwiązaniem do uruchamiania Linuksa bezpośrednio w systemie Windows. Na komputerach Mac podobne rozwiązanie praktycznie nie istniało aż do niedawnego pojawienia się Container Machine, trybu narzędzia Apple Container. Oferuje on natywne, trwałe i zintegrowane środowisko Linux dla komputerów Mac z procesorami Apple Silicon i systemem macOS 26.
W przeciwieństwie do tradycyjnych kontenerów, ta lekka maszyna wirtualna oferuje kompletny system umożliwiający uruchamianie usług, jednocześnie współdzieląc katalog domowy między systemami Mac i Linux. Efekt? Elastyczne środowisko, idealne do tworzenia oprogramowania lub skryptów powłoki bash.
Dowiedzmy się, co wyróżnia maszyny kontenerowe, jak działają w praktyce i dlaczego są one przyczyną pojawienia się nowego sposobu korzystania z systemu Linux na komputerach Mac.
maszyna kontenerowa: nowa era natywnego Linuksa na Apple Silicon Mac
Maszyna kontenerowa to nowa funkcja narzędzia Apple do obsługi kontenerów o otwartym kodzie źródłowym. Nie tylko uruchamia jednorazowy kontener, ale tworzy trwałą maszynę z kompletnym systemem Linux.
Główną zaletą jest możliwość utrzymywania stanu między sesjami. Możesz instalować pakiety, uruchamiać usługi i modyfikować środowisko według własnego uznania. Jest to rozwiązanie znacznie bliższe prawdziwemu systemowi Linux niż typowy kontener aplikacji.
Z technicznego punktu widzenia, ten tryb uruchamia system init w obrazie, często systemd, a plik $HOME systemu macOS zostaje zamontowany na komputerze. Kod edytowany w systemie macOS może być następnie używany bezpośrednio w systemie Linux, bez żmudnego duplikowania.
Uderzające podobieństwo do podsystemu Windows dla systemu Linux
Dla administratorów i programistów znających WSL w systemie Windows porównanie jest naturalne. Oba systemy oferują prawdziwe jądro Linuxa w lekkiej maszynie wirtualnej.
Kolejnym istotnym punktem jest integracja systemu plików: w WSL uzyskujesz dostęp do dysków Windows, tutaj, w maszynie kontenerowej, katalog użytkownika macOS jest współdzielony do odczytu i zapisu.
Można uruchamiać prawdziwe usługi Linuxa (obsługa systemd na dostosowanych obrazach), co jest niezwykle istotne przy testowaniu złożonych scenariuszy bez opuszczania systemu macOS.
Jak wdrożyć kontener maszynowy i zwiększyć produktywność
Wymagania wstępne: komputer Mac z chipem Apple Silicon, zainstalowany system macOS 26 oraz narzędzie kontenerowe skonfigurowane z uruchomioną usługą (uruchomienie systemu kontenerowego). Po wykonaniu tych kroków utworzenie jest proste.
Zaczynamy od kompatybilnego obrazu init Linuksa (na przykład alpine:latest lub zmodyfikowanego Ubuntu). Na przykład:
maszyna kontenerowa utwórz alpine:latest –name devbox
Po uruchomieniu tej maszyny proste polecenie „container machine run -n devbox” otwiera powłokę z uprawnieniami użytkownika, z bezpośrednim dostępem do $HOME macOS.
Bezproblemowe udostępnianie plików między systemami macOS i Linux
Kluczową zaletą jest pełna transparentność udostępniania plików. Zamiast wymieniać pliki za pośrednictwem woluminów lub kopii Dockera, środowisko Linux korzysta bezpośrednio z katalogu domowego Maca.
Załóżmy, że tworzysz skrypt dla serwera Linux, ale macOS korzysta z własnych wersji narzędzi BSD. Testowanie lokalne często prowadzi do ukrytych błędów.
Dzięki maszynie kontenerowej ten skrypt działa pod prawdziwym Linuksem, wykrywając rozbieżności związane z narzędziami GNU, nie opuszczając wygodnego edytora macOS.
Zbuduj środowisko Ubuntu z systemd i usługami startowymi
Tworzenie maszyny kontenerowej za pomocą systemd jest nieco bardziej techniczne. Wymaga zbudowania niestandardowego obrazu Ubuntu zawierającego system init, przy użyciu oficjalnego pliku Dockerfile zawartego w dokumentacji Apple.
Po kompilacji (wymagającej Rosetty 2) tworzona jest maszyna:
maszyna kontenerowa utwórz lokalną/ubuntu-machine:latest –name devubuntu
Od tego momentu dostępne są wszystkie standardowe polecenia systemowe, w tym administracja za pomocą systemctl. Na przykład: zainstaluj Apache i MariaDB, uruchom usługi i włącz ich automatyczne uruchamianie!
Pobierz adres IP i uzyskaj dostęp do serwera WWW z systemu macOS
Maszyna ma swój własny adres IP w sieci wirtualnej. Użyj polecenia „container machine ls”, aby znaleźć ten adres.
Następnie wpisanie adresu URL w przeglądarce Mac spowoduje otwarcie strony głównej Apache’a hostowanej na maszynie kontenerowej. Ten stan jest trwały i nie znika po wyłączeniu lub ponownym uruchomieniu.
Taka konfiguracja rzeczywiście zbliża ten tryb maszyny do lekkiej maszyny wirtualnej, ale jest zoptymalizowana specjalnie pod kątem tworzenia oprogramowania w systemie macOS-Linux.
Rozpowszechnij swoje oprogramowanie w wielu środowiskach, aby przetestować je w różnych warunkach.
Kolejna kluczowa zaleta: możesz tworzyć osobne maszyny z różnymi dystrybucjami. Debian, Ubuntu, Alpine… Każda maszyna współdzieli ten sam katalog domowy macOS.
W rezultacie standardowe pliki konfiguracyjne (.bashrc, .gitconfig itp.) pozostają zsynchronizowane w tych środowiskach. Jest to przydatne do weryfikacji solidności lub kompatybilności projektu wieloplatformowego.
To rzadka i mile widziana okazja dla każdego administratora lub programisty Linux/Unix pracującego na komputerze Mac.
Ograniczenia, o których należy pamiętać w 2026 r.
Projekt jest młody i wciąż się rozwija. W przeciwieństwie do WSL, nie ma odpowiednika WSLg dla grafiki w systemie Linux. Współdziałanie między systemami macOS i Linux jest obecnie ograniczone do plików.
Zagnieżdżona wirtualizacja za pośrednictwem KVM nie jest jeszcze wykorzystywana na procesorach Apple Silicon, ale istnieje taka możliwość w przyszłych wersjach.
Wreszcie, należy rozważyć alternatywy takie jak Lima, Multipass lub OrbStack, gdy dojrzałość i bogactwo funkcji mają kluczowe znaczenie.