Apple tutvustas tööriistu Linux-konteinerite loomiseks, laadimiseks ja käitamiseks macOS-is. Linuxi konteinerite tööks macOS-is kasutatakse kergeid virtuaalseid masinaid, millel on Linuxi südamik, mis käivad hüperviseerija Virtualization.framework abil. Linuxi konteineritega töötamiseks on pakutud kahte paketti — containerization ja container, mis on kirjutatud Swift keeles ja avalikult litsentseeritud Apache 2.0 alusel.
Containerization pakett pakub madala taseme API-d konteineripiltide haldamiseks OCI formaadis, konteinerite laadimiseks välistest hoidlatest, juurfailisüsteemi Ext4 loomise, võrgu ühenduse tagamise, kiiresti laaditavate Linuxi südamike variantide koostamise ja virtuaalmasinate erinevate konteinerite käivitamiseks. Konteinerid saab siduda eraldiseisvate IP-aadressidega. Iga konteineri külge kinnitatud virtuaalse võrgu steki organiseerimiseks on kaasatud vmnet raamistik.
Virtuaalse masina käivitamiseks kulub vähem kui sekund, tänu optimeeritud Linuxi südamiku konfiguratsioonile ja kärbitud süsteemi keskkonnale koos kerge init-protsessi vminitd. Suhtlemine initsialiseerimisprotsessiga virtuaalses masinas toimub API GRPC kaudu vsocki peal. See API võimaldab seadistada töökeskkonna parameetreid ja käivitada virtuaalmachines valitud sisuga konteinerid või eraldiseisvad protsessid.
Container pakett on Containerization API laiendus, mis rakendab kõrgetasemelist tööriistakomplekti Docker'i stiilis Linuxi konteinerite loomiseks, laadimiseks, käivitamiseks ja peatamiseks OCI formaadis. Teenuste juhtimine 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 macOS 15-s ei toimi konteinerite vahel otsene võrgu suhtlus ning eraldi IP-de kinnitamine konteineritele on piiratud. ARM-i süsteemidel Apple Silicon Mac (M1/M2/M3/M4) on töötamine võimalik, kuid Intel protsessoritega arvuteid ei toetata. X86_64 arhitektuurile kohandatud konteinerite käivitamiseks kasutatakse Rosetta 2 protsessorijuhiste tõlkijat.

Allikas: opennet.ru
