Apple esitles tööriistu Linuxi konteinerite loomiseks, üleslaadimiseks ja käitamiseks macOS-is. Kategooria konteinerite töö macOS-is põhineb kergistel virtuaalmasinatel, millel on Linuxi tuum, ja mis käivituvad Virtualization.framework hüperviisoriga. Linuxi konteinerite haldamiseks on ette nähtud kaks paketti — containerization ja container, mis on kirjutatud Swift keeles ja avatud Apache 2.0 litsentsi all.
Containerization pakett annab madala taseme API konteinerite OCI formaadis piltide haldamiseks, konteinerite laadimiseks välistest hoidlatest, juurefailisüsteemi Ext4 loomiseks, võrguside tagamiseks, kiiresti käivitavate Linuxi tuumade kogumiseks, loomise virtuaalmasinad ja nende käivitamiseks eraldi konteinerites. Konteinerid saab siduda eraldi IP-aadressidega. Iga konteineri külge seotud virtuaalse võrgu kuhja organiseerimiseks kasutatakse vmnet raamistikku.
Virtuaalmasina käivitamine kestab alla sekundi, tänu optimeeritud Linuxi tuuma konfiguratsiooni ja kärbitud süsteemi keskkonna kasutusele koos kerge init-protsessiga vminitd. Suhtlemine initsialiseerimisprotsessiga virtuaalmasinas teostatakse GRPC API kaudu vsock'i peal. See API võimaldab seadistada töökeskkonna parameetreid ja käivitada konteinerid, mille kasutaja on valinud, või eraldi isoleeritud protsesside kohal virtuaalmasina peal.
Container paket on API Containerization pealisehitus, mis rakendab Docker-stiilis kõrgema taseme tööriistu Linuxi konteinerite loomiseks, laadimiseks, käivitamiseks ja peatamiseks OCI formaadis. Teenuste haldamine konteinerite käivitamisel toimub Launchd süsteemihalduri abil.
Tööriistu saab kasutada macOS 15-s, kuid täielikuks tööks ja probleemide vältimiseks soovitatakse kasutada macOS 26 Beta 1 versiooni. Näiteks ei toimi macOS 15-s konteinerite vahel otsene võrgukoostoime ja on piiratud eraldiseisvate IP-de sidumine konteineritega. Töö on võimalik Apple Silicon Mac (M1/M2/M3/M4) ARM-süsteemides, Intel protsessoritel põhinevad arvutid ei ole toetatud. x86_64 arhitektuurile kokku pandud konteinerite käivitamiseks kasutatakse Rosetta 2 protsessorijuhiste tõlkijat.

Allikas: opennet.ru
