Docker is een van de meest populaire containertechnologieën vanwege het gebruiksgemak en de flexibiliteit. Veel cloudplatforms ondersteunen Docker en u kunt docker-containers in veel omgevingen uitvoeren.
Een van de verkoopargumenten van Docker is de functionaliteit om snel met meerdere containers te werken. Dit maakt Docker geschikt voor het bouwen van zowel monolithische applicaties als microservices.
Docker Compose is de tool die Docker gebruikt om interactie en orkestratie tussen containers tot stand te brengen.
Wat is Docker Compose?
Docker Compose is een eenvoudige tool voor containerorkestratie die is gebouwd op de Docker-engine. Hiermee kunt u met meerdere Docker-containers werken. Er zijn veel redenen om Docker te gebruiken voor virtualisatie, van de schaalbaarheid tot het ingebouwde versiebeheer.
U kunt Docker Compose gebruiken om full-stack apps met meerdere architecturale patronen te bouwen.
Docker Compose is een agnostische tool die veel gecontaineriseerde microservice-applicaties aanstuurt. Met Docker Compose kunt u nog steeds één hostomgeving gebruiken voor uw applicatie. Maar u vermijdt het gedoe van meerdere configuraties die de beveiliging en productiviteit van uw app in gevaar kunnen brengen.
Docker Compose gebruikt Dockerfiles niet voor builds. In plaats daarvan gebruik je een docker-compose.yaml bestand voor de configuratie-instellingen van uw app.
U kunt veel verschillende build-instellingen configureren in het YAML-bestand. Deze omvatten poorttoewijzing, omgevingsvariabelen, volumes en netwerken en services.
Docker Compose installeren
De docker-componeren programma draait op de Docker-engine. Docker Compose maakt deel uit van een macOS- of Windows-installatie van Docker CLI en Docker GUI.
Voer deze opdracht uit om te bevestigen dat deze is geïnstalleerd:
docker-compose-versie
De opdracht retourneert de docker-compose-versie, het buildnummer en andere gerelateerde informatie.
U moet Docker Compose afzonderlijk installeren als u op een Linux-machine werkt. Je kunt de volgen officiële Docker-instructies om het op verschillende Linux-distributies te installeren. De Docker-engine is een afhankelijkheid van Docker Compose. U moet ervoor zorgen dat Docker is geïnstalleerd voordat u probeert Docker Compose te installeren.
Het Docker Compose YAML-bestand
Docker Compose gebruikt een .yaml bestand voor bouwspecificaties. Je gebruikt de docker-componeren bestand om de services, netwerken en volumeconfiguraties van uw apps voor de build van uw app te definiëren.
Na het schrijven van de Dockerfile maak voor uw app een docker-compose-bestand in de hoofdmap van uw werkmap.
U moet YAML-bestanden begrijpen om `docker-compose correct te kunnen gebruiken. Ga als volgt te werk om buildconfiguraties op te geven in uw docker-compose YAML-bestand:
versie:
Diensten:
web:
bouwen:
poorten:
volumes:
databank:
afbeelding:
De versie sleutel moet de versie van Docker Compose bevatten die u gebruikt.
In de Diensten sleutel, kunt u de containerconfiguraties definiëren. De web sleutel definieert de servicenaam. De bouwen declaratie definieert de locatie van het docker-bestand (het docker-bestandspad) en u kunt de poorten voor uw toepassing toewijzen in de havens sleutel.
U kunt aanvullende velden voor uw database en services opgeven in de docker-componeren bestand.
Hier is een voorbeeld van een Docker Compose-bestand voor een eenvoudige webtoepassing:
versie:'3.9'# docker-opstellen
Diensten:
web:# webservices
bouwen:.# bouwt containers in de hoofdmap
poorten:
-"8080:8080"# app naar poort 8080
# Koppel volumes in de homedirectory aan de away-directory
volumes:
-"/weg van huis"
databank:
afbeelding:"redis: alpine"
omgeving:#omgevingsvariabelen
-"USERNAME=uwGebruiker"
-"WACHTWOORD=p@wen"
In deze docker-componeren bestand, zal de service versie 3.9 van Docker Compose. Het zal docker-bestanden bouwen in de hoofdmap om op poort te draaien 8080 met een Redis-database-image en omgevingsvariabelen verklaard.
Docker Compose-opdrachten
Je kunt veel andere commando's gebruiken met docker-componeren voor uw aan containerorkestratie gerelateerde bewerkingen.
De bouwen opdracht bouwt of herbouwt de afbeeldingen in het docker-componeren YAML-bestand en maakt de containers voor uw service.
docker-compose bouwen
De loop opdracht start uw services op zoals gespecificeerd in de docker-componeren -bestand door de containers te maken op basis van de Docker-afbeeldingen.
docker-componeren loop
De afbeeldingen Met de opdracht kunt u een lijst bekijken met de afbeeldingen die zijn gemaakt op basis van uw docker-compose-bestand.
docker-compose afbeeldingen
De omhoog commando is de combinatie van de bouwen En loop commando's. Met deze opdracht worden de Docker-images gebouwd en uitgevoerd en worden de containers gestart.
docker-componeren
U kunt de ps opdracht om alle containers in de docker-componeren bestand.
docker-samenstellen ps
De omlaag opdracht stopt en ruimt containers en afbeeldingen op die zijn gekoppeld aan het docker-componeren bestand.
docker-componeer naar beneden
Je vindt de stop commando handig als u alleen alle containers en services in uw docker-componeren bestand.
docker-compose stop
Docker belooft uw problemen met containerisatie te verlichten
Containerisatietools bestonden vóór Docker, maar Docker is een van de gemakkelijkst te gebruiken.
Docker Compose biedt eenvoudiger containerbeheer, dus het gebruik van Docker kan productiever zijn dan andere concurrerende technologieën.