Beheers de basisprincipes van Docker waarbij deze belangrijke concepten in eenvoudige woorden worden uitgelegd.

Het beheersen van Docker is een gewilde vaardigheid voor backend-software-ingenieurs. Docker helpt u bij het bouwen, verpakken en distribueren van applicaties.

Gedockeriseerde applicaties kunnen in verschillende omgevingen draaien. Dit verlaagt de downtime van applicaties, waardoor bedrijven een concurrentievoordeel krijgen. Maar Docker kan intimiderend zijn als je het begint te leren. Hier zijn essentiële onderwerpen om Docker onder de knie te krijgen.

Wat is Docker?

Docker is software die wordt gebruikt om applicaties te verpakken in uitvoerbare eenheden die containers worden genoemd. Docker biedt ondersteuning voor het snel bouwen, testen en implementeren van applicaties.

Wanneer u Docker gebruikt, communiceert u met de Docker Engine. U kunt Docker Engine op elk besturingssysteem installeren, inclusief Windows 10 en 11, macOS, of Ubuntu/Linux-systemen. Er zijn veel tools en concepten die u nodig heeft om Docker effectief te leren gebruiken. Hier zijn de meest essentiële om u op weg te helpen.

instagram viewer

1. Docker-afbeelding

Een Docker-installatiekopie is een lichtgewicht blauwdruk die wordt gebruikt om containers te maken. Het is een sjabloon met instructies waarin het besturingssysteem, de applicatiecode en afhankelijkheden worden gespecificeerd. U definieert instructies voor het bouwen van de afbeelding op een Dockerfile.

In het bestand geeft u aan wat uw aanvraag nodig heeft. Docker bouwt vervolgens automatisch de image op basis van de gegeven instructies. U kunt verschillende afbeeldingen vinden in het online register van Docker, Docker Hub. Docker raadt om veiligheidsredenen aan om de officiële afbeeldingen te gebruiken.

U kunt ook images bouwen op basis van aangepaste configuraties. Afbeeldingen zijn er in verschillende formaten, besturingssystemen en talen. U kunt degene kiezen die het beste bij uw toepassing past. Je kunt er bijvoorbeeld van leren hoe u een Docker-image van een .NET-web-API bouwt.

2. Docker-container

Containers zijn eenheden die worden gebruikt om een ​​applicatie in een uitvoerbare eenheid te verpakken. Containers bevatten alles wat nodig is om een ​​applicatie uit te voeren, inclusief bibliotheken, code, afhankelijkheden en runtime.

Containers isoleren applicaties in eenheden, waardoor ze consistent in verschillende omgevingen kunnen worden uitgevoerd. Met containers kunt u applicaties in ontwikkel- en productieomgevingen zonder fouten beheren. Er zijn veel gebruiksscenario's voor containers die je kunt verkennen.

Docker-containers bevatten details zoals de container-ID, de afbeelding en het basisbesturingssysteem. U kunt ook de runtime, status en naam van de container zien. Gebruik de volgende opdracht om alle containers in uw systeem weer te geven:

docker container ls

U ziet details van alle actieve containers:

Je kan ook gebruiken havenarbeider ps om alle actieve containers te bekijken. En docker container inspecteren [container-ID] om de inhoud van een container te bekijken.

4. Dockerbestand

Een Dockerfile is een document met instructies voor het bouwen van de Docker-image. Het bestand specificeert de basisimage, de applicatiecode en de bestanden die nodig zijn om de image te maken.

Het bestand bevat ook de omgevingsvariabelen en de opdrachten voor het maken van afbeeldingen. U kunt een Dockerfile maken zoals elk ander bestand. U moet de instructies voor het bestand opgeven met een syntaxis die Docker begrijpt. Hieronder volgt een voorbeeld van een voorbeeld van een Docker-bestand:

5. Docker Componeren

Docker Compose is een tool voor het definiëren en uitvoeren van Docker-applicaties met meerdere containers. U configureert alle services in een YAML-bestand. Een YAML-bestand is een document waarin u de benodigde services voor uw toepassing specificeert. Vervolgens kunt u alle services maken en uitvoeren met één enkele opdracht.

Docker Compose kan applicaties in verschillende omgevingen draaien. Dit kunnen productie-, staging-, ontwikkelings- of testomgevingen zijn. Docker Compose vereenvoudigt het complexe proces van het orkestreren van meerdere containers.

U kunt Docker Compose gebruiken om een ​​applicatie gedurende de gehele levenscyclus ervan te beheren. Dit kan het starten, stoppen en opnieuw opbouwen van services omvatten. U kunt ook de status van actieve services bekijken, logboekuitvoer streamen en opdrachten voor een service uitvoeren.

Met Docker Compose kunt u netwerken configureren, volumes beheren en afhankelijkheden opgeven. U kunt toepassingen ook horizontaal schalen in productie door replicaservices op te geven.

Compose vereenvoudigt de implementatie van complexe applicaties in verschillende omgevingen. U kunt het ook gebruiken om dezelfde omgeving in verschillende systemen te repliceren. Leren hoe u Docker Compose gebruikt kan de efficiëntie van uw toepassing verhogen.

Hier is een voorbeeld van een Docker Compose YAML-bestand:

6. Docker-hub

Docker-hub is een online containerregister voor Docker. Omdat het het grootste containerregister is, is het een samenwerkingstool voor ontwikkelaars en open source-bijdragers. Het is ook een uitstekende marktplaats voor softwareleveranciers.

Docker Hub is een vertrouwde bron voor het vinden van betrouwbare virtualisatiesoftware. U kunt een repository maken en meer dan 100.000 afbeeldingen delen.

Jij kan host uw applicaties en code op het platform. Je kunt ook samenwerken aan projecten met andere ontwikkelaars. Docker Hub heeft een gratis openbare optie of betaalde privérepo's voor specifieke geautoriseerde teams.

7. Docker-netwerken

Docker-netwerken is een functie waarmee containers met elkaar en externe bronnen kunnen communiceren. Netwerken zorgen voor gecontroleerde en geïsoleerde communicatie tussen containers. Dit kunnen containers zijn die op één of meerdere hosts draaien.

Wanneer u een container op uw machine uitvoert, wordt deze niet blootgesteld aan externe netwerken. U gebruikt poorten om de containers bloot te stellen aan externe IP-adressen, DNS-services, routetabellen en internetgateways.

Dankzij netwerken kunnen containers in geïsoleerde netwerkomgevingen werken. De netwerken bieden naamruimten en IP-adressen, waardoor containerconflicten worden verminderd en de beveiliging wordt verbeterd.

8. Docker-volumes

In Docker zijn volumes een mechanisme dat wordt gebruikt om persistente gegevens op te slaan. Door hun ontwerp zijn containers kortstondig. Dit betekent dat het gemakkelijk is om ze met al hun gegevens te vervangen of te vernietigen. Maar er zijn gevallen waarin u de gegevens wilt behouden. In dergelijke gevallen kunt u Docker-volumes gebruiken om persistente gegevens te beheren.

Volumes hebben ook andere toepassingen, waaronder het delen van gegevens tussen containers. Er kan eenvoudig een back-up van worden gemaakt en ze kunnen worden gemigreerd in vergelijking met andere vormen van opslag. Bovendien kunt u volumes beheren met Docker CLI of de API.

Als u een container zonder volume uitvoert, maakt Docker er automatisch een. U kunt ook volumes maken en beheren die geïsoleerd zijn van containers. Gebruik de volgende opdracht om een ​​volume te maken.

docker volume create my-vol

Voer de volgende opdracht uit om het volume te zien dat u hebt gemaakt:

docker volume ls //local my-vol

Vervolgens kunt u de volumes aan elke gewenste container bevestigen. Meer over volumes leest u op de pagina Dokwerker officiële documentatie.

Andere Docker-functies

Docker is een van de beste keuzes voor containerbeheer en versiebeheer. Als u de toolset van Docker leert kennen, kunt u uw ontwikkelingsworkflow een boost geven en stroomlijnen.

Docker heeft veel functies die u kunt gebruiken om uw applicaties te beheren. Nadat u de belangrijkste functies onder de knie heeft, kunt u andere complexe functies verkennen, zoals Docker Swarm, die wordt gebruikt om complexe applicaties te orkestreren.