Docker-zelfstudie | Leg de basisprincipes van Docker uit

Docker Zelfstudie Leg De Basisprincipes Van Docker Uit



Docker is een open-source ontwikkelingsplatform dat wereldwijd wordt gebruikt voor het bouwen, leveren en uitvoeren van projecten, software en andere microservices. Het wordt beschouwd als het beste platform voor diegenen die geen verschillende virtuele machines op het systeem willen draaien, aangezien Docker het OS-niveau van virtualisatie en systeembronnen gebruikt.

Docker introduceert de containeroplossing die het project en alle essentiële afhankelijkheden die nodig zijn om het project te delen en te implementeren, in een container plaatst. Dit kan de afhankelijkheidsproblemen oplossen, zoals ' bibliotheek of pakket ontbreekt ” tijdens het installeren van de applicatie op een ander systeem en u bent niet verplicht om afhankelijkheden of pakketten afzonderlijk te installeren.

Deze blog bespreekt de basisprincipes van het Docker-platform en hoe deze te gebruiken.







Basisprincipes van Docker

Het Docker-platform is consistenter en stabieler dan veel andere applicaties vanwege de basisprincipes en architectuur. De kerncomponenten van het Docker-platform staan ​​hieronder vermeld:



Docker-hub

Docker Hub is een officieel Docker-register dat wordt gebruikt om de Docker-images te beheren en te publiceren. Dit register bevat duizenden officiële afbeeldingen voor gebruikersgemak. Deze afbeeldingen kunnen gemakkelijk toegankelijk zijn voor ontwikkelaars voor ontwikkeling.



Dockerfile

Dockerfile wordt ook wel een instructiebestand genoemd dat instructies bevat om gebruikerstoepassingen of projecten te containeriseren. Deze instructies omvatten de basisafbeelding, installatie van afhankelijkheden, opdracht, werkmap, uitvoerbare bestanden en bronbestand. Bovendien wordt Dockerfile gebruikt om de Docker-image te bouwen om de applicatie in een container te plaatsen.





Docker opstellen

Docker Compose is een ander kernonderdeel van de Docker-tool die wordt gebruikt om meerdere containertoepassingen en -services uit te voeren, te beheren en te delen. Het configureert de toepassingsservices in het YAML-bestand.

Docker-afbeeldingen

Docker-images worden beschouwd als de bouwsteen of het startpunt van Docker-ontwikkeling. Deze afbeeldingen bieden een raamwerk of sjabloon om de container te maken. Afbeeldingen maken niet alleen de container, maar helpen ze ook om het project uit te voeren en te containeriseren.



Docker-containers

Docker-containers zijn net als echte containers en worden uitvoerbare pakketten genoemd. Deze containers kapselen of verpakken het project, de afhankelijkheden of de vereiste pakketten en configuratie-instellingen. De containerfunctie van Docker zorgt ervoor dat Docker opvalt tussen verschillende applicaties. Deze containers maken het verzenden van projecten en software eenvoudig.

Docker-daemon

Docker Daemon is een kernonderdeel van Docker dat de Docker-images en containers, volumes en containers op de host beheert. De Docker Daemon krijgt de opdracht van de Docker-client of luistert naar de Rest API's om de Docker-containers te verwerken of te bedienen.

Docker-netwerk

Docker-netwerk is een ander essentieel onderdeel van Docker's basis waarmee we containers kunnen koppelen aan of verbinden met een ander netwerk. Docker biedt standaard bruiden en hostnetwerken. Gebruikers kunnen echter hun eigen netwerk creëren op basis van hun vereisten.

Docker-volume

Docker-volume is een extern bestandssysteem en wordt beheerd op de host. Het wordt gebruikt om de gegevens en resultaten van Docker-containers te behouden of op te slaan. Deze volumes zijn onafhankelijk van de levenscyclus van de container en worden opgeslagen als back-upbestand voor andere containers.

Hoe Docker te gebruiken voor ontwikkeling?

Docker-kerncomponenten en -fundamentals worden gebruikt voor het bouwen en testen van de applicatie of het project in containers. Het Docker-platform maakt projectontwikkeling en -implementatie eenvoudiger en gemakkelijker. Om aan de slag te gaan met Docker, installeert u eerst de Docker met behulp van onze bijbehorende artikel . Begin vervolgens met het ontwikkelen en implementeren van een applicatie.

Bekijk de meegeleverde voorbeelden voor de demonstratie van het bouwen en uitvoeren van het programma op Docker.

Voorbeeld 1: toepassing implementeren in container met behulp van Dockerfile

Om de basis- of eerste toepassing op Docker te implementeren, start u eerst de Docker Desktop-toepassing vanuit het Windows Start-menu om de Docker-engine uit te voeren. Gebruik daarna de verstrekte procedure om de ontwikkeling met Docker te starten.

Stap 1: Programma maken

Maak eerst een eenvoudig programmabestand ' index.html ” in de Visual Studio Code Editor en plak de onderstaande code in het bestand:

< html >

< hoofd >

< stijl >

lichaam{

achtergrondkleur: zwart;

}

h1{

kleur:aquamarijn;

lettertypestijl: cursief;

}

< / stijl >

< / hoofd >

< lichaam >

< h1 > Hallo! Welkom bij de Linuxhint-zelfstudie < / h1 >

< / lichaam >

< / html >

Stap 2: Maak Dockerfile

Maak vervolgens een ander bestand met de naam ' Dockerfile ”. De Dockerfile bevat geen bestandsextensie. Kopieer daarna het onderstaande codefragment naar het bestand:

VAN nginx: laatste

KOPIEER index.html / usr / deel / nginx / html / index.html

INGANGSPUNT [ 'nginx' , '-G' , 'daemon uit;' ]

Volgens de hierboven gecodeerde instructies:

  • VAN ” statement wordt gebruikt om de basisafbeelding voor de container toe te wijzen of te specificeren.
  • KOPIËREN ”-opdracht kopieert het bronbestand naar het containerbestemmingspad.
  • INGANGSPUNT ” definieert de standaardinstellingen of uitvoerbare bestanden voor Docker-containers:

Stap 3: bouw Docker-afbeelding

Genereer vervolgens de nieuwe afbeelding om de ' index.html ” programma met behulp van de genoemde opdracht. De ' -T ” optie definieert de afbeeldingstag of naam:

> docker build -t html-img .

Stap 4: voer de afbeelding uit

Voer vervolgens de nieuw gegenereerde afbeelding uit om de ' index.html ' programma met behulp van de ' havenarbeider rennen ” commando. Hier de ' -D ” optie voert de container uit als een backend-service, en “ -P ” wijst de hostpoort van de container toe:

> havenarbeider run -d -p 80 : 80 html-img

Navigeer naar de “ lokalehost:80 ' poort in uw browser en controleer of de ' index.html ” bestand wordt uitgevoerd of niet:

U kunt zien dat we het eenvoudige HTML-programma hebben gecontaineriseerd en geïmplementeerd met behulp van Dockerfile.

Voorbeeld 2: toepassing implementeren in container met behulp van Docker Compose

Een ander belangrijk onderdeel van het Docker-platform is een Docker-compositietool. Om de Docker-compositie voor ontwikkeling te gebruiken, doorloopt u de vermelde stappen:

Stap 1: Maak het bestand 'docker-compose.yml'.

Voor het zelfde ' index.html ' bestand, maak een samengesteld bestand met de naam ' docker-compose.yml ” bestand en plak het onderstaande codeblok in het bestand dat de volgende instructies bevat:

  • Diensten ” wordt gebruikt om de service te definiëren. We configureren bijvoorbeeld de ' web ' dienst.
  • bouwen ' geeft aan dat het samengestelde bestand de ' Dockerfile ” gemaakt in het bovenstaande voorbeeld.
  • containernaam ' is de naam van de container die de 'web' -service uitvoert.
  • haven ” is een hostpost waarop de container het volgende zal tonen:
versie : '3'

Diensten
:

web
:

bouwen
: .

containernaam
: html-container

havens
:

-8080:80

Stap 2: Begin met het uitvoeren van Docker Container

Start daarna de container op met behulp van de ' docker-componeren ” commando:

> docker-samenstellen up -d

Hier kunt u zien dat we de container met succes op de lokale host hebben geïmplementeerd:

Dit gaat allemaal over de basisprincipes van de Docker-omgeving.

Conclusie

Het Docker-platform is consistenter en stabieler dan veel andere applicaties vanwege de basisprincipes en architectuur. De kerncomponenten van het Docker-platform zijn Docker Hub, Dockerfile, Docker Compose, Docker Images, Docker Containers, Docker Daemon, Docker Network en Docker Volume. Dit artikel heeft de basisprincipes van Docker gedemonstreerd en hoe deze te gebruiken voor ontwikkeling.