Aigest.
Newsy

Apple udostępnia "container" – narzędzie do uruchamiania kontenerów Linuksa jako lekkich maszyn wirtualnych na Apple Sil

Zespół badawczy Apple zaprezentował "container" – nowe, otwartoźródłowe narzędzie wiersza poleceń napisane w Swift, które umożliwia uruchamianie kontenerów Linuksa jako lekkich maszyn wirtualnych bezpośrednio na urządzen

RA

Udostępnij
Apple udostępnia "container" – narzędzie do uruchamiania kontenerów Linuksa jako lekkich maszyn wirtualnych na Apple Sil
Ilustracja poglądowa

Zespół badawczy Apple zaprezentował projekt "container", otwartoźródłowe narzędzie wiersza poleceń napisane w języku Swift. Jego głównym zadaniem jest tworzenie i uruchamianie kontenerów Linuksa jako lekkich maszyn wirtualnych na komputerach Mac wyposażonych w procesory Apple Silicon. Projekt jest dostępny na licencji Apache 2.0.

Kontenery stanowią standardowy sposób na dostarczanie powtarzalnych środowisk, od laptopa po centrum danych. Apple oferuje teraz natywną ścieżkę, która eliminuje potrzebę pojedynczej, stale działającej maszyny wirtualnej z Linuksem.

Funkcjonalność i kompatybilność

"container" to narzędzie CLI, które pozwala na budowanie obrazów, uruchamianie kontenerów oraz przenoszenie obrazów do i z rejestrów. Jest kompatybilne z obrazami kontenerów zgodnymi ze standardem OCI (Open Container Initiative), co oznacza, że można pobierać obrazy z Docker Hub czy GitHub Container Registry i uruchamiać je, a także przesyłać zbudowane obrazy do dowolnego standardowego rejestru.

Narzędzie wykorzystuje otwartoźródłowy pakiet Containerization Swift, który odpowiada za niskopoziomowe zarządzanie kontenerami, obrazami i procesami. Do działania "container" wymaga komputera Mac z procesorem Apple Silicon; komputery Mac z procesorami Intel nie są obsługiwane. Apple zapewnia pełne wsparcie dla "container" na systemie macOS 26, który wprowadza ulepszenia w zakresie wirtualizacji i sieci. Możliwe jest również uruchomienie na macOS 15, jednak z pewnymi ograniczeniami sieciowymi.

Architektura i izolacja

Większość narzędzi do obsługi kontenerów na macOS opiera się na jednej współdzielonej maszynie wirtualnej z Linuksem, która hostuje wszystkie kontenery. Apple obrało inną ścieżkę: "container" uruchamia osobną, lekką maszynę wirtualną dla każdego tworzonego kontenera. Apple podkreśla trzy kluczowe właściwości tego podejścia:

  • Integracja z frameworkami macOS: Środowisko uruchomieniowe integruje się z kilkoma frameworkami macOS. Wykorzystuje Virtualization framework dla maszyn wirtualnych, vmnet framework dla sieci, XPC do komunikacji międzyprocesowej, launchd do zarządzania usługami oraz Keychain services do przechowywania danych uwierzytelniających rejestru.
  • Płaszczyzna kontrolna: Uruchomienie container system start uruchamia agenta container-apiserver. Ten z kolei uruchamia pomocnika XPC container-core-images do zarządzania obrazami i lokalnym magazynem treści, a także container-network-vmnet dla wirtualnej sieci. Dla każdego kontenera uruchamiany jest container-runtime-linux, pomocnik zarządzający poszczególnymi kontenerami.
  • Izolacja i bezpieczeństwo: Każdy kontener działa we własnej maszynie wirtualnej, a nie we współdzielonym jądrze. Ta granica izolacji jest szczególnie przydatna do uruchamiania kodu z agenta lub nieznanego obrazu, minimalizując ekspozycję hosta.

Scenariusze użycia i przykłady

Narzędzie "container" wspiera różnorodne scenariusze, takie jak:

  • Lokalne tworzenie backendu: Uruchamianie usługi w izolowanej maszynie wirtualnej i przekierowywanie portu do adresu loopback.
  • Powtarzalne kompilacje w stylu CI: container build uruchamia narzędzie BuildKit w kontenerze. Maszynę wirtualną dla kompilatora można skalować pod kątem wymagających zadań, np. container builder start --cpus 8 --memory 32g.
  • Obrazy wieloarchitekturowe dla centrów danych: Możliwość budowania jednego obrazu zarówno dla Apple Silicon (arm64), jak i serwerów x86-64. Wariant amd64 działa pod translacją Rosetta.
  • Montowanie zbiorów danych do analizy: Udostępnianie folderu hosta w kontenerze za pomocą opcji --volume jest przydatne do dostarczania lokalnych danych do skonteneryzowanego zadania.
  • Izolowanie nieufnego lub generowanego kodu: Dzięki izolacji w osobnych maszynach wirtualnych, ryzyko dla hosta jest zminimalizowane.

Domyślne zasoby kontenera to 1 GiB pamięci RAM i 4 procesory, które można nadpisać dla konkretnego uruchomienia, np. container run --rm --cpus 8 --memory 32g big. Narzędzie oferuje również funkcje monitorowania zasobów (container stats) oraz przeglądania logów uruchamiania maszyn wirtualnych (container logs --boot).

Na macOS 26 możliwe jest tworzenie izolowanych sieci, co zapobiega komunikacji między kontenerami w różnych sieciach. Kontenery domyślnie startują z ograniczonym zestawem możliwości Linuksa, które można jawnie dostosować.

Nowości w wersji 1.0.0

Wersja 1.0.0 wprowadza "container machines" – trwałe środowiska Linuksa zbudowane z obrazów OCI. Katalog domowy użytkownika jest montowany, a użytkownik logujący się odpowiada kontu Mac. System plików zachowuje się po zatrzymaniu i ponownym uruchomieniu. Każdy obraz zawierający /sbin/init kwalifikuje się jako maszyna kontenerowa.

Inne zmiany w wersji 1.0.0 to przeniesienie ustawień systemowych do pliku TOML w ~/.config/container/config.toml oraz usunięcie podpoleceń container system property get i set. Narzędzie zyskało również ustrukturyzowane wyjścia w formatach JSON, YAML i TOML dla poleceń list i inspect, co ułatwia automatyzację.

Mocne strony i ograniczenia

Mocne strony "container" to przede wszystkim izolacja maszyn wirtualnych dla każdego kontenera, co redukuje powierzchnię ataku w porównaniu do współdzielonego jądra. Koszt pamięci w stanie bezczynności jest niski, ponieważ zatrzymane kontenery zwalniają swoje zasoby. Kompatybilność z OCI oznacza, że obrazy działają bez konwersji w innych środowiskach. Licencja Apache 2.0 gwarantuje brak opłat za funkcje.

Ograniczenia obejmują częściowe wsparcie dla "memory ballooning" przez framework Virtualization macOS, co oznacza, że zwolnione strony pamięci w kontenerze nie zawsze są zwracane hostowi. Intensywne obciążenia mogą wymagać okazjonalnych restartów w celu zmniejszenia zużycia pamięci. Brakuje wbudowanego wsparcia dla Docker Compose. Użytkownicy macOS 15 napotykają ograniczenia sieciowe, a komputery Mac z procesorami Intel nie są obsługiwane.

Udostępnienie "container" przez Apple to znaczący krok w kierunku zapewnienia natywnych i wysoce izolowanych środowisk kontenerowych dla deweloperów pracujących na platformie Apple Silicon. Oferując unikalne podejście do wirtualizacji, które stawia na izolację per-kontener, Apple może zyskać uznanie w społeczności deweloperskiej, jednocześnie stawiając wyzwanie dla dominujących rozwiązań na rynku kontenerów.

Źródło: marktechpost.com

Udostępnij

Komentarze

Zaloguj się, aby dołączyć do dyskusji.

Nikt jeszcze nie skomentował. Bądź pierwszy!

Czytaj dalej

Meta AI prezentuje Muse Glimmer: model agentowy 30B działający na pojedynczej karcie GPU
Australijski agent AI zhakował system rezerwacji siłowni, aby przesunąć użytkownika w kolejce
Recenzowanie naukowe w kryzysie: Czy system peer review przetrwa erę AI?
Startupy rewolucjonizują LLM-y: Nadchodzi nowa generacja modeli językowych
Newsy

Startupy rewolucjonizują LLM-y: Nadchodzi nowa generacja modeli językowych

W obliczu rosnących kosztów i ograniczeń obecnych modeli językowych, nowe startupy opracowują innowacyjne rozwiązania, które mają zastąpić lub znacząco ulepszyć technologię transformatorów.

Redakcja Aigest10 godz. temu

Agenty AI zrewolucjonizują naukę, wykraczając poza podejście oparte na danych
Agenty AI to nowa granica, która wymaga równie nowej strategii bezpieczeństwa

Bądź na bieżąco ze światem AI

Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.