Wat is het doel van een docker-compose.yml-bestand in Docker?

Wat Is Het Doel Van Een Docker Compose Yml Bestand In Docker



Docker compose is een hulpprogramma/tool ​​die wordt gebruikt om applicaties te maken en uit te voeren die uit meerdere containers bestaan. Het gebruikt YAML-bestanden voor het opzetten van applicatieservices. A docker-compose.yml bestand is een configuratiebestand dat definieert hoe meerdere Docker-containers kunnen samenwerken als een enkele service. Het kan alle services starten met een enkele ' docker-componeren ' commando en stop alle services met een enkele ' docker-componeer naar beneden ” commando. Bovendien kan het ook worden gebruikt om geselecteerde services indien nodig op te schalen.

Dit artikel legt uit:







Wat is het doel van een docker-compose.yml-bestand in Docker?

Het belangrijkste doel van een “ docker-compose.yml ”-bestand is om het proces van het implementeren en beheren van Docker-applicaties met meerdere containers te vereenvoudigen. Het wordt ook gebruikt voor andere doeleinden, zoals:



    • Meerdere containers tegelijk starten en stoppen.
    • Containerafhankelijkheden opgeven.
    • Definiëren en beheren van netwerkverbindingen tussen containers.
    • Volumes en andere gedeelde bronnen tussen containers beheren.
    • Instellen van omgevingsvariabelen en andere configuratie-opties voor containers.
    • Containers omhoog of omlaag schalen naar behoefte.

Hoe gebruik ik een docker-compose.yml-bestand in Docker?

Volg de stapsgewijze instructies om te zien hoe u het bestand docker-compose.yml in Docker maakt en gebruikt.



Stap 1: Maak een Compose-bestand





Maak in Visual Studio Code een nieuw bestand met de naam ' docker-compose.yml ”. Configureer daarna de vereiste services. We hebben bijvoorbeeld de volgende services geconfigureerd:

versie: '3'

Diensten:
web:
afbeelding: nginx: nieuwste
poorten:
- '9090:80'

web1:
bouwen: .
poorten:
- '8080:80'


In bovenstaand fragment:



    • De ' versie ” sleutel specificeert de versie van het Docker Compose-bestandsformaat dat moet worden gebruikt. Hier gebruiken we versie 3.
    • De ' Diensten ”-toets wordt gebruikt om de compose-services te configureren. Hier hebben we twee services geconfigureerd, namelijk ' web ' En ' web1 ”.
    • De ' web ” dienst maakt gebruik van de “ nginx: laatste 'afbeelding en kaarten poort' 9090 ' op de hostmachine naar poort ' 80 ” in het bakje.
    • De ' web1 ”-service bouwt een afbeelding op van het Docker-bestand in de “ . ” map. En ' 8080:80 ” is de toegewezen poort.

Stap 2: Maak een Docker-bestand

Maak nu een ander bestand met de naam ' Dockerfile ” en plak de onderstaande code erin:

VAN nginx: laatste
INGANGSPUNT [ 'nginx' , '-G' , 'daemon uit;' ]


In bovenstaand fragment:

    • De ' VAN ” statement wordt gebruikt om een ​​basisafbeelding voor de container te definiëren, d.w.z. “ nginx: laatste ”.
    • De ' INGANGSPUNT ” wordt gebruikt om het uitvoeringspunt voor de container in te stellen.

Stap 3: Start Compose Services

Voer vervolgens de  ' docker-componeren ” commando samen met de “ -D ” optie om de compose-service te starten in de ontkoppelde modus:

docker-componeren -D



Het is te zien dat de compose-service succesvol is gestart.

Stap 4: Verificatie

Navigeer nu naar de toegewezen poorten van de lokale host en controleer of de services in de containers worden uitgevoerd of niet:


Aan bakboord “ 9090 ', de ' web ' service gebruikt de ' nginx: laatste ”beeld en het uitvoeren ervan.


Aan bakboord “ 8080 ', de ' web1 ”-service gebruikt het Docker-bestand om de “ nginx ' afbeelding.

Dit is hoe we talloze services kunnen configureren en meerdere containers tegelijk kunnen uitvoeren met behulp van het bestand 'docker-compose.yml'.

Conclusie

De ' docker-compose.yml ”-bestand stelt ontwikkelaars in staat om alle containers en hun configuratie, inclusief afbeeldingen, poorten, volumes, netwerken, enz., in één bestand op te geven. Het maakt het gemakkelijker om meerdere containers te maken, starten en stoppen als onderdeel van een enkele applicatie. Het is handig voor het ontwikkelen, evalueren en implementeren van applicaties die meerdere componenten bevatten die nodig zijn om met elkaar te communiceren. In dit artikel worden de doelen van het bestand 'docker-compose.yml' en het gebruik ervan in Docker uitgelegd.