Dela via


Docker-terminologi

Dricks

Det här innehållet är ett utdrag från eBook, .NET Microservices Architecture for Containerized .NET Applications, tillgängligt på .NET Docs eller som en kostnadsfri nedladdningsbar PDF som kan läsas offline.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Det här avsnittet innehåller termer och definitioner som du bör känna till innan du går djupare in på Docker. Mer information om definitioner finns i den omfattande ordlista som tillhandahålls av Docker.

Containeravbildning: Ett paket med alla beroenden och all information som behövs för att skapa en container. En avbildning innehåller alla beroenden (till exempel ramverk) plus distributions- och körningskonfiguration som ska användas av en containerkörning. Vanligtvis härleds en avbildning från flera basavbildningar som är lager staplade ovanpå varandra för att bilda containerns filsystem. En avbildning kan inte ändras när den har skapats.

Dockerfile: En textfil som innehåller instruktioner för att skapa en Docker-avbildning. Det är som ett batchskript, den första raden anger basavbildningen till att börja med och följer sedan anvisningarna för att installera nödvändiga program, kopiera filer och så vidare tills du får den arbetsmiljö du behöver.

Build: Åtgärden att skapa en containeravbildning baserat på den information och kontext som tillhandahålls av dess Dockerfile, plus ytterligare filer i mappen där avbildningen skapas. Du kan skapa avbildningar med följande Docker-kommando:

docker build

Container: En instans av en Docker-avbildning. En container representerar körningen av ett enda program, en process eller en tjänst. Den består av innehållet i en Docker-avbildning, en körningsmiljö och en standarduppsättning med instruktioner. När du skalar en tjänst skapar du flera instanser av en container från samma avbildning. Eller så kan ett batchjobb skapa flera containrar från samma avbildning och skicka olika parametrar till varje instans.

Volymer: Erbjuder ett skrivbart filsystem som containern kan använda. Eftersom avbildningar är skrivskyddade men de flesta program behöver skriva till filsystemet lägger volymerna till ett skrivbart lager ovanpå containeravbildningen, så att programmen har åtkomst till ett skrivbart filsystem. Programmet vet inte att det har åtkomst till ett lagerfilsystem, det är bara filsystemet som vanligt. Volymer finns i värdsystemet och hanteras av Docker.

Tagg: Ett märke eller en etikett som du kan tillämpa på bilder så att olika bilder eller versioner av samma bild (beroende på versionsnumret eller målmiljön) kan identifieras.

Flerstegsversion: Är en funktion, eftersom Docker 17.05 eller senare bidrar till att minska storleken på de slutliga avbildningarna. Till exempel kan en stor basavbildning som innehåller SDK användas för kompilering och publicering och sedan kan en liten basavbildning endast köras som värd för programmet.

Lagringsplats (lagringsplats): En samling relaterade Docker-avbildningar, märkta med en tagg som anger avbildningsversionen. Vissa lagringsplatser innehåller flera varianter av en viss avbildning, till exempel en bild som innehåller SDK:er (tyngre), en avbildning som endast innehåller runtimes (ljusare) osv. Dessa varianter kan markeras med taggar. En enda lagringsplats kan innehålla plattformsvarianter, till exempel en Linux-avbildning och en Windows-avbildning.

Register: En tjänst som ger åtkomst till lagringsplatser. Standardregistret för de flesta offentliga avbildningar är Docker Hub (ägs av Docker som organisation). Ett register innehåller vanligtvis lagringsplatser från flera team. Företag har ofta privata register för att lagra och hantera avbildningar som de har skapat. Azure Container Registry är ett annat exempel.

Avbildning med flera valv: För flera arkitekturer (eller flera plattformar) är det en Docker-funktion som förenklar valet av lämplig avbildning enligt plattformen där Docker körs. När en Dockerfile till exempel begär en basavbildning FRÅN mcr.microsoft.com/dotnet/sdk:8.0 från registret får den faktiskt 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 eller 8.0-bullseye-slim, beroende på operativsystemet och versionen där Docker körs.

Docker Hub: Ett offentligt register för att ladda upp avbildningar och arbeta med dem. Docker Hub tillhandahåller Docker-avbildningsvärd, offentliga eller privata register, byggutlösare och webbkrokar samt integrering med GitHub och Bitbucket.

Azure Container Registry: En offentlig resurs för att arbeta med Docker-avbildningar och dess komponenter i Azure. Detta ger ett register som är nära dina distributioner i Azure och som ger dig kontroll över åtkomsten, vilket gör det möjligt att använda dina Azure Active Directory-grupper och -behörigheter.

Docker Trusted Registry (DTR): En Docker-registertjänst (från Docker) som kan installeras lokalt så att den finns i organisationens datacenter och nätverk. Det är praktiskt för privata avbildningar som ska hanteras i företaget. Docker Trusted Registry ingår som en del av Docker Datacenter-produkten.

Docker Desktop: Utvecklingsverktyg för Windows och macOS för att skapa, köra och testa containrar lokalt. Docker Desktop för Windows tillhandahåller utvecklingsmiljöer för både Linux- och Windows-containrar. Linux Docker-värden i Windows baseras på en virtuell Hyper-V-dator . Värden för Windows-containrar baseras direkt på Windows. Docker Desktop för Mac baseras på Apple Hypervisor-ramverket och xhyve-hypervisor-programmet, som tillhandahåller en virtuell Linux Docker-värddator på macOS. Docker Desktop för Windows och för Mac ersätter Docker Toolbox, som baserades på Oracle VirtualBox.

Skriv: Ett kommandoradsverktyg och YAML-filformat med metadata för att definiera och köra program med flera containrar. Du definierar ett enda program baserat på flera bilder med en eller flera .yml filer som kan åsidosätta värden beroende på miljön. När du har skapat definitionerna kan du distribuera hela programmet med flera containrar med ett enda kommando (docker-compose up) som skapar en container per avbildning på Docker-värden.

Kluster: En samling Docker-värdar som exponeras som om det vore en enda virtuell Docker-värd, så att programmet kan skalas till flera instanser av tjänsterna spridda över flera värdar i klustret. Docker-kluster kan skapas med Kubernetes, Azure Service Fabric, Docker Swarm och Mesosphere DC/OS.

Orchestrator: Ett verktyg som förenklar hanteringen av kluster och Docker-värdar. Med orchestrators kan du hantera deras avbildningar, containrar och värdar via ett kommandoradsgränssnitt (CLI) eller ett grafiskt användargränssnitt. Du kan hantera containernätverk, konfigurationer, belastningsutjämning, tjänstidentifiering, hög tillgänglighet, Docker-värdkonfiguration med mera. En orkestrerare ansvarar för att köra, distribuera, skala och läka arbetsbelastningar över en samling noder. Vanligtvis är orchestrator-produkter samma produkter som tillhandahåller klusterinfrastruktur, som Kubernetes och Azure Service Fabric, bland andra erbjudanden på marknaden.