Udforsk Docker
Contoso Windows Server-administratoren skal forstå Docker, Docker-objektbeholdere, kørsel af objektbeholdere, og hvordan de kan køres på Windows Server.
Oversigt over docker- og objektbeholderkørsler
Docker Inc. er en virksomhed, der har sammensat en samling af værktøjer, løsninger med åben kildekode og cloudbaserede tjenester, der leverer en fælles model til pakning (også kendt som containerizing) appkode i en standardiseret enhed til softwareudvikling. Denne standardiserede enhed, der kaldes en Docker-objektbeholder, er software ombrudt i et komplet filsystem, der indeholder alt, hvad det skal bruge for at køre: kode, kørsel, systemværktøjer, systembiblioteker og alt, hvad du kan installere på en server.
For at understøtte en Docker-objektbeholder er der to underliggende komponenter, der kommer i spil, som normalt skjules eller ikke bemærkes af den bruger, der kører en objektbeholder. Disse to komponenter er objektbeholderens kørselstid og operativsystemets funktioner, der understøtter objektbeholdere. På Windows Server kaldes den funktion, der understøtter Docker-objektbeholderen, blot for "Objektbeholdere". Denne funktion interagerer med en komponent kaldet HCS (Host Compute Service). HCS er ansvarlig for at orkestrere virtualiseringsplatformen på Windows Server og er den lavere API, der understøtter både objektbeholdere og Hyper-V VM'er.
Over os-funktionen, der planlægger objektbeholdere, er en objektbeholderkørsel. En objektbeholderkørsel er placeret mellem kommandolinjegrænsefladen, brugergrænsefladen eller objektbeholderorkestreringsfunktionen og den underliggende operativsystemfunktion. Det er objektbeholderens kørselsjob at oversætte kommandoer fra brugeren eller objektbeholderens orchestrator til operativsystemets platformfunktioner. Når du f.eks. beder Docker-kommandolinjegrænsefladen om at køre en ny objektbeholder, interagerer kommandolinjegrænsefladen med kørselstidspunktet for objektbeholderen, hvilket igen sender kommandoen til operativsystemet på en måde, som den forstår. Objektbeholderkørsler findes, så ovenstående lag ikke behøver at vide, hvordan operativsystemet forventer at modtage kommandoer. Fra en brugers synspunkt er dette vigtigt, fordi forskellige objektbeholderkørsler har forskellige funktioner og egenskaber.
Der er mange forskellige objektbeholderkørsler tilgængelige til kørsel af objektbeholdere på Windows Server. De mest almindelige er:
- Moby-projekt. Moby er det projekt med åben kildekode, som Docker bygger sine kommercielle projekter ud fra. På Windows Server er Moby et projekt, der understøttes af community'et, og som bruger dockerd som objektbeholderens kørselstid. Moby er ideel til test af objektbeholdere på Windows Server. Når Moby er installeret, leverer den ikke kun dockerd-objektbeholderens kørselstid, men også kommandolinjegrænsefladen til at interagere med objektbeholdere på Windows Server.
Forsigtighed
Dockerd på Windows og Windows Server bruger HCSv1. På Linux har Moby skiftet til at bruge containerd som objektbeholder runtime. Der er i øjeblikket arbejde sker for at flytte Moby til containerD på Windows, udnytte den nyere og forbedrede HCSv2 grænseflade.
ContainerD. ContainerD er en kørselstid for objektbeholdere med åben kildekode og er for nylig blevet etableret som den foretrukne objektbeholderkørsel for Kubernetes-miljøer. ContainerD kan bruges i produktionsmiljøer og er standardobjektbeholderkørslen for Windows Server 2022, når der køres på Kubernetes-miljøer. Når ContainerD er installeret, leverer den ikke en kommandolinjegrænseflade til interaktion med objektbeholdere. Andre open source-CLIs, f.eks. CRICTL eller NerdCTL, kan bruges i stedet.
Mirantes Container Runtime (MCR). MCR, der formelt er kendt som Docker Enterprise Edition (Docker EE), indeholder den samme funktionalitet som Docker CE samt ekstra funktioner, der er bygget specielt til virksomhedsinstallationer. MCR anbefales, når Docker Swarm bruges som objektbeholder orchestrator. Når MCR er installeret, leverer den samme kørselstid for objektbeholderen og den samme CLI-oplevelse som Docker og Moby.
Seddel
En anden komponent kaldet Docker Desktop til Windows kan bruges på Windows 10 og 11 til udviklingsformål.
Kør objektbeholdere på Windows Server
Før du kører objektbeholdere på Windows Server, skal du finde ud af, hvilken objektbeholderkørsel du vil bruge i dit miljø. Kørselstidspunktet for objektbeholderen bestemmer den installationsproces, du skal følge. Du kan få flere oplysninger om indstillingerne på Windows Server, og hvordan du installerer hver enkelt, under Sådan forbereder du din Windows Server-vært til objektbeholdere.
Vigtig
Hvis du planlægger at bruge Hyper-V isolationstilstand for dine objektbeholdere, skal du også installere Hyper-V-serverrollen på værtsserveren. Hvis værtsserveren i sig selv er en VM, skal du også aktivere indlejret virtualisering, før du installerer rollen Hyper-V. Da Windows 10 og 11 kører Windows-baserede objektbeholdere som standard i Hyper-V isolationstilstand, skal funktionen Hyper-V være installeret i Windows 10- og 11-værtsmiljøet for at understøtte denne standardtilstand.
The Docker Hub
Objektbeholdere er bygget på objektbeholderbilleder, og disse billeder kan gemmes i lagre. Lagre fungerer som en placering, hvor du kan bygge, gemme, sikre og dele objektbeholderbilleder. Docker Hub er en webbaseret onlinebibliotekstjeneste, der administreres af Docker, hvor du kan:
Registrer, gem og administrer dine egne Docker-billeder i et onlinelager, og del dem derefter med andre.
Få adgang til mere end 100.000 objektbeholderbilleder fra softwareleverandører, projekter med åben kildekode og andre communitymedlemmer.
Microsoft Container Registry
Microsoft leverer objektbeholderbilleder via Microsoft Container Registry (MCR) på mcr.microsoft.com. Dette er den officielle kilde til microsoft-leverede objektbeholderbilleder. Uanset hvor Microsoft-objektbeholderbilleder registreres, er pullkilden mcr.microsoft.com.
Seddel
Azure Container Registry er en Azure-tjeneste, som du kan bruge til at oprette dit eget objektbeholderafbildningslager. Du kan bruge dette lager til at gemme og administrere afbildninger for alle typer udrulning af objektbeholdere.