Delen via


Docker-terminologie

Aanbeveling

Deze inhoud is een fragment uit het eBook, .NET Microservices Architecture for Containerized .NET Applications, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.

.NET Microservices Architectuur voor Gecontaineriseerde .NET Toepassingen eBook omslagthumbnail.

In deze sectie vindt u termen en definities waarmee u bekend moet zijn voordat u verder gaat met Docker. Zie de uitgebreide woordenlijst van Docker voor meer definities.

Containerafbeelding: een pakket met alle afhankelijkheden en informatie die nodig zijn om een container te maken. Een installatiekopie bevat alle afhankelijkheden (zoals frameworks) plus de configuratie voor implementatie en uitvoering die moet worden gebruikt door een containerruntime. Meestal is een afbeelding afgeleid van meerdere basisafbeeldingen die lagen op elkaar stapelen om het bestandssysteem van de container te vormen. Een afbeelding is onveranderbaar zodra deze is gemaakt.

Dockerfile: een tekstbestand met instructies voor het bouwen van een Docker-image. Het is net als een batchscript, de eerste regel geeft de basisinstallatiekopie aan om te beginnen en volg vervolgens de instructies voor het installeren van vereiste programma's, het kopiëren van bestanden, enzovoort, totdat u de gewenste werkomgeving krijgt.

Build: De actie van het bouwen van een container-image op basis van de informatie en context van de Dockerfile, plus aanvullende bestanden in de map waarin de image wordt gebouwd. U kunt afbeeldingen bouwen met de volgende Docker-opdracht:

docker build

Container: Een exemplaar van een Docker-image. Een container vertegenwoordigt de uitvoering van één toepassing, proces of service. Het bestaat uit de inhoud van een Docker-afbeelding, een uitvoeringsomgeving en een standaard set instructies. Wanneer u een service schaalt, maakt u meerdere instanties van een container op basis van dezelfde afbeelding. Of een batchtaak kan meerdere containers maken vanuit dezelfde afbeelding, waarbij elke instantie verschillende parameters krijgt.

Volumes: Bied een beschrijfbaar bestandssysteem aan dat door de container kan worden gebruikt. Omdat images alleen-lezen zijn, maar de meeste programma's naar het bestandssysteem moeten schrijven, voegen volumes een beschrijfbare laag toe bovenop de containerimage, zodat programma's toegang hebben tot een beschrijfbaar bestandssysteem. Het programma weet niet dat het toegang heeft tot een gelaagd bestandssysteem, het is gewoon het bestandssysteem zoals gebruikelijk. Volumes leven in het hostsysteem en worden beheerd door Docker.

Tag: Een markering of label die u kunt toepassen op afbeeldingen, zodat verschillende afbeeldingen of versies van dezelfde afbeelding (afhankelijk van het versienummer of de doelomgeving) kunnen worden geïdentificeerd.

Build met meerdere fasen: is een functie vanaf Docker 17.05 of hoger, waarmee u de grootte van de uiteindelijke afbeeldingen kunt verkleinen. Een grote basisinstallatiekopie met de SDK kan bijvoorbeeld worden gebruikt voor het compileren en publiceren en vervolgens kan een kleine basisinstallatiekopie met alleen runtime worden gebruikt om de toepassing te hosten.

Opslagplaats (repo): Een verzameling gerelateerde Docker-images, gelabeld met een tag die de versie van de images aangeeft. Sommige opslagplaatsen bevatten meerdere varianten van een specifieke installatiekopie, zoals een installatiekopie met SDK's (zwaarder), een installatiekopie die alleen runtimes (lichter) bevat, enzovoort. Deze varianten kunnen worden gemarkeerd met tags. Eén opslagplaats kan platformvarianten bevatten, zoals een Linux-installatiekopieën en een Windows-installatiekopieën.

Register: een service die toegang biedt tot opslagplaatsen. Het standaardregister voor de meeste openbare installatiekopieën is Docker Hub (eigendom van Docker als organisatie). Een register bevat meestal opslagplaatsen van meerdere teams. Bedrijven hebben vaak privéregisters om afbeeldingen die ze hebben gemaakt op te slaan en te beheren. Azure Container Registry is een ander voorbeeld.

Multi-arch-installatiekopieën: Voor meerdere architectuur (of meerdere platforms) is het een Docker-functie die de selectie van de juiste installatiekopieën vereenvoudigt, afhankelijk van het platform waarop Docker wordt uitgevoerd. Wanneer een Dockerfile bijvoorbeeld een basisinstallatiekopie aanvraagt van mcr.microsoft.com/dotnet/sdk:8.0 uit het register, wordt deze daadwerkelijk 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 of 8.0-bullseye-slim, afhankelijk van het besturingssysteem en de versie waarop Docker wordt uitgevoerd.

Docker Hub: een openbaar register om afbeeldingen te uploaden en ermee te werken. Docker Hub biedt hosten van Docker-images, openbare of privéregisters, buildtriggers en webhooks, en integratie met GitHub en Bitbucket.

Azure Container Registry: een openbare resource voor het werken met Docker-installatiekopieën en de bijbehorende onderdelen in Azure. Dit biedt een register dat zich dicht bij uw implementaties in Azure bevindt en waarmee u controle hebt over toegang, zodat u uw Azure Active Directory-groepen en -machtigingen kunt gebruiken.

Docker Trusted Registry (DTR):een Docker-registerservice (van Docker) die on-premises kan worden geïnstalleerd, zodat deze zich in het datacenter en netwerk van de organisatie bevindt. Het is handig voor privéafbeeldingen die binnen de onderneming moeten worden beheerd. Docker Trusted Registry is opgenomen als onderdeel van het Docker Datacenter-product.

Docker Desktop: Ontwikkelhulpprogramma's voor Windows en macOS voor het lokaal bouwen, uitvoeren en testen van containers. Docker Desktop voor Windows biedt ontwikkelomgevingen voor linux- en Windows-containers. De Linux Docker-host in Windows is gebaseerd op een virtuele Hyper-V-machine . De host voor Windows-containers is rechtstreeks gebaseerd op Windows. Docker Desktop voor Mac is gebaseerd op het Apple Hypervisor-framework en de xhyve hypervisor, die een virtuele Linux Docker-hostmachine op macOS biedt. Docker Desktop voor Windows en voor Mac vervangt Docker Toolbox, die was gebaseerd op Oracle VirtualBox.

Opstellen: Een opdrachtregelprogramma en YAML-bestandsindeling met metagegevens voor het definiëren en uitvoeren van toepassingen met meerdere containers. U definieert één toepassing op basis van meerdere afbeeldingen met een of meer .yml-bestanden die waarden kunnen overschrijven, afhankelijk van de omgeving. Nadat u de definities hebt gemaakt, kunt u de hele toepassing met meerdere containers implementeren met één opdracht (docker-compose up) waarmee een container per installatiekopie op de Docker-host wordt gemaakt.

Cluster: Een verzameling Docker-hosts die worden weergegeven alsof het één virtuele Docker-host is, zodat de toepassing kan worden geschaald naar meerdere exemplaren van de services verspreid over meerdere hosts binnen het cluster. Docker-clusters kunnen worden gemaakt met Kubernetes, Azure Service Fabric, Docker Swarm en Mesosphere DC/OS.

Orchestrator: een hulpprogramma dat het beheer van clusters en Docker-hosts vereenvoudigt. Met orchestrators kunt u hun afbeeldingen, containers en hosts beheren met behulp van een commandoregelinterface (CLI) of een grafische gebruikersinterface. U kunt containernetwerken, configuraties, taakverdeling, servicedetectie, hoge beschikbaarheid, Docker-hostconfiguratie en meer beheren. Een orchestrator is verantwoordelijk voor het beheren, distribueren, schalen en herstellen van workloads in een verzameling knooppunten. Orchestrator-producten zijn doorgaans dezelfde producten die clusterinfrastructuur bieden, zoals Kubernetes en Azure Service Fabric, en andere aanbiedingen op de markt.