Native MacOS Docker-containrar är nu möjliga

Har du någonsin önskat att du kunde köra inbyggda macOS Docker-behållare på macOS? Nåväl, nu kan du det tack vare ett fantastiskt gratisprojekt som heter macOS Containers.

Om du är i utvecklarvärlden på nästan vilken nivå som helst, har du sannolikt erfarenhet av Docker-behållare, som är mycket populära på grund av deras användbarhet. Docker-containrar erbjuder ett lättviktigt och effektivt sätt att paketera och distribuera applikationer och beroenden över olika miljöer. Docker-containrar är fristående och kan hjälpa till med snabb distribution, hantering och skalbarhet när du utvecklar eller testar applikationer, mjukvara, system och mycket mer. Hittills har behållare inte stöds av MacOS, men tack vare macOS Containers har det förändrats.

Inbyggda macOS-behållare är i tidig utveckling med detta projekt, men med dem kan du köra macOS inuti macOS, bygga bilder med Docker och distribuera dem, låter bra eller hur?

Det finns några varningar som du måste vara bekväm med; För det första är projektet "mycket alfa" enligt utvecklarna och så det används uppenbarligen på egen risk, och för det andra måste du inaktivera SIP på Mac, och för det tredje måste du installera Homebrew på Sonoma, Ventura, Monterey eller Catalina (och ja, det betyder att de också är de enda macOS-värdoperativsystemen som stöds). Om du är bekväm med allt detta, kolla in projektet på GitHub och starta Homebrew för att installera macOS-behållare och komma igång.

Projektets hemsida finns påhttps://macoscontainers.orgoch denGithub-sidan är här.

Hoppa in i terminalen för att komma igång.

Förutsatt att du redan har Homebrew installerat, måste du installera MacFuse:
brew install --cask macfuse

Därefter måste du installera macOS Container Docker-bygget:
brew install docker docker-buildx macOScontainers/formula/dockerd

SLÄKT:Så här fixar du felet "Kan inte uppdatera Minecraft Native Launcher".

När det är klart, starta containerd:
sudo brew services start containerd

Börja sedan dockerd:
sudo brew services start dockerd

Därefter ställer du in BuildKit genom att först skapa en katalog för plugins;
mkdir -p ~/.docker/cli-plugins

Och sedan länka buildkit till docker:
ln -sfn /opt/homebrew/opt/docker-buildx/bin/docker-buildx ~/.docker/cli-plugins/docker-buildx

Du vill nu autentisera till GitHub Container-registret:
echo [YOUR_ACCESS_TOKEN] | docker login ghcr.io -u [GITHUB_USERNAME] --password-stdin

Och slutligen är det dags att köra din första inbyggda macOS-behållare:
docker run --rm -it ghcr.io/macoscontainers/macos-jail/ventura:latest echo "Hello from macOS container"

Dessa instruktioner är frånGitHub-sida här, som du kan hänvisa till om du vill ha mer information.

Det pågår också en fascinerande diskussion om detta projektHackerNews på ycombinatorsom är värt att kolla upp om du är nyfiken på projektet ur ett utvecklarperspektiv.

Som du kanske vet är Docker-behållare så populära och användbara eftersom de erbjuder ett lätt och effektivt sätt att erbjuda konsekventa paket som kan användas för att distribuera och köra applikationer och deras beroenden i olika miljöer. Genom att inkludera en applikation och beroenden i en fristående behållare gör det det enkelt för utvecklare att se till att deras mjukvara körs konsekvent på vilka andra system de än distribueras till, vilket kan hjälpa till att förbättra utvecklingstider, distribution, skalning, hantering och så mycket mer.

På vissa sätt är Docker-bilder och -behållare ungefär som virtuella maskiner, men de är inriktade på utvecklare och programvaruprojekt. Om du är mer intresserad av att virtualisera ett operativsystem för ett mixerperspektiv eller bara för att lura runt, snarare än ett utvecklarperspektiv, kolla in våra inlägg om virtuella maskiner här.