Gebruik Docker Compose om met meerdere containers te werken

Gebruik Docker Compose Om Met Meerdere Containers Te Werken



Docker Compose is een populaire tool die werkt met het Docker-platform voor het beheren en uitvoeren van applicaties met meerdere containers. Het gebruikt het YAML-bestand om de multi-containerapplicaties of microservices in containers te configureren. Daarnaast stelt Docker Compose ons in staat om de meerdere containeruitvoer op dezelfde poort te beheren en ondersteunt het ook de schaalvergroting van een applicatie of een andere service.

Dit bericht laat zien hoe je Docker compose kunt gebruiken om aan de slag te gaan met meerdere containers.

Hoe Docker Compose te gebruiken om met meerdere containers te werken?

Het gebruik van Docker compose om meerdere containerapplicaties te beheren en uit te voeren, is de beste oplossing omdat het veelzijdiger is en verschillende functionaliteiten biedt, zoals het beheren van containers op dezelfde poort, het repliceren van elke service of hele applicatie, het toewijzen van unieke poorten aan individuele services en nog veel meer .







Volg de gegeven instructies om de Docker-opstelling te gebruiken om met meerdere containers of microservices te gaan werken.



Stap 1: Specificeer Multi-Container-toepassing



Maak eerst de toepassing voor meerdere containers. We hebben bijvoorbeeld een HTML-applicatie gebouwd die twee verschillende HTML-bestanden uitvoert, “ index.html ' En ' index1.html ”:





Stap 2: Dockerfile maken



Maak een Dockerfile om het HTML-programma te dockeriseren. Hiervoor containeriseren we de “ index.html ” programma:

VAN nginx: laatste
KOPIEER index.html /usr/share/nginx/html/index.html
ENTRYPOINT ['nginx', '-g', 'daemon uit;']

Opmerking: U kunt de Dockerfile ook voor een ander programma specificeren. We zullen bijvoorbeeld de Docker-afbeelding gebruiken om de tweede service of het tweede programma te specificeren. Navigeer naar onze bijbehorende artikel om een ​​Docker-image te maken om het programma in containers te plaatsen.

Stap 3: Maak een Compose-bestand

Maak vervolgens een samengesteld bestand met de naam ' docker-compose.yml ” bestand en configureer de multi-container applicatie met behulp van de volgende instructies:

  • Diensten ” wordt gebruikt om meerdere services in een samengesteld bestand te configureren. We hebben bijvoorbeeld de ' web ' En ' web1 ' Diensten.
  • bouwen ” wordt gebruikt om de build-context of Dockerfile te definiëren om de service te containeriseren. Hiervoor hebben we gebruik gemaakt van de “ dockerbestand Dockerfile.
  • havens ” definieert de blootliggende poorten van de container.
  • afbeeldingen ” sleutel wordt gebruikt om de Docker-afbeelding op te geven om de service in containers te plaatsen. Hier voor de ' web1 ”-service, hebben we de Docker-image gebruikt in plaats van Dockerfile om de service te containeriseren:
versie: '3'
Diensten:
web:
bouwen:
dockerfile: index.dockerfile
poorten:
-80:80
web1:
afbeelding: html-afbeelding
poorten:
-80

Stap 4: Creëer en start de containers

Start of start de container met ' docker-componeren ” commando:

docker-componeren

Stap 5: Verificatie

Noteer voor de verificatie de componeerservices:

docker-samenstellen ps

Hier ziet u de ' web 'service wordt uitgevoerd op poort' 80 ' En ' web1 ” draait op “ 57151 ”:

U kunt ook naar de toegewezen poort van localhost navigeren en controleren of de toepassing actief is of niet:

Dit gaat allemaal over het gebruik van Docker compose om met meerdere containers te werken.

Conclusie

Als u Docker Compose wilt gebruiken om met multi-container-applicaties te werken, maakt u eerst een multi-container-applicatie en plaatst u deze in Dockerfile of in de vorm van een afbeelding. Maak daarna een ' docker-compose.yml ”-bestand om de toepassing met meerdere containers in Docker Compose te configureren. Start daarna de containers in Docker Componeren door gebruik te maken van de ' docker-componeren ” commando. Dit artikel heeft geïllustreerd hoe de Docker-compositie kan worden gebruikt om met multi-container-applicaties te werken.