Wat is het verschil tussen Dockerfile en Docker Compose

Wat Is Het Verschil Tussen Dockerfile En Docker Compose



Het Docker-platform werkt met verschillende componenten en tools voor het bouwen, delen en implementeren van applicaties en projecten. Het Docker-platform levert de software in kleine uitvoerbare pakketten die containers worden genoemd. Deze containers worden gebouwd en beheerd via Docker-bestandsinstructies en de Docker-compositietool.

Dit artikel zal aantonen:

Verschil tussen Dockerfile en Docker Compose

Dockerfile en Docker Compose worden beide gebruikt om applicaties en projecten te containeriseren. Het belangrijkste verschil tussen deze twee componenten is dat ' Dockerfile ” is een instructiebestand dat wordt gebruikt om de Docker-containersjabloon te specificeren in de vorm van een momentopname of afbeelding. Docker compose is echter een tool die in Docker wordt gebruikt om de microservices en multi-containerapplicaties op te starten.







In Docker compose worden de services en multi-container applicaties geconfigureerd via de “ docker-compose.yml ” -bestand en voeg de Dockerfile toe om de buildcontext voor de container op te geven.



Hoe Dockerfile te maken en te gebruiken?

Om de Dockerfile te maken en te gebruiken voor het bouwen van de momentopname voor de container, maakt u eerst een Dockerfile en voegt u essentiële instructies toe, zoals basisimage, bronbestand en het bijbehorende pad, uitvoerbare bestanden, poorten en volume. Kijk voor de implementatie naar de gegeven stappen.



Stap 1: maak een programmabestand aan

Maak eerst een programmabestand met de naam ' index.html ” en voeg de volgende code toe aan 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 ” dat de “ index.html ” programma. Geef hiervoor de volgende opdrachten of instructies op:

  • VAN ” definieert de basisafbeelding van de container.
  • KOPIËREN ” kopieert of voegt het bronbestand toe aan het pad van de container.
  • INGANGSPUNT ” definieert de uitvoerbare bestanden voor de containers:
VAN nginx: laatste

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

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

Stap 3: Maak de momentopname/afbeelding van de container

Bouw in de volgende stap de momentopname of afbeelding van de container door gebruik te maken van de ' docker build -t ” commando. De naam van de containerafbeelding wordt gedefinieerd via de ' -T ' keuze:



dokwerker gebouwd -T html-afbeelding .

Stap 4: voer de container uit

Maak en start de container via de nieuw gemaakte momentopname door gebruik te maken van de ' havenarbeider rennen ” commando. Hier, ' -P ” specificeert de blootstellingspoort van de container:

havenarbeider rennen -P 80 : 80 html-afbeelding

Controleer voor de verificatie de toegewezen poort van de lokale host en controleer of de container wordt uitgevoerd of niet:

Hoe een Compose-bestand maken en gebruiken?

Om de meerdere containers of microservices in Docker compose te configureren, maakt u eerst een ' docker-compose.yml ” bestand en configureer de instructie in het bestand. Volg voor de illustratie de meegeleverde instructies.

Stap 1: Maak een Compose-bestand

Configureer eerst de toepassing in een container of andere microservices door de essentiële instructies in het bestand op te geven. Zo hebben we bijvoorbeeld de “ index.html ” programma door de volgende instructies te configureren:

  • Diensten ” sleutel specificeert de services in het samengestelde bestand. Zo hebben we bijvoorbeeld “ web ' En ' web1 '-services om het HTML-programma uit te voeren.
  • bouwen ” sleutel wordt gebruikt om de bouwcontext voor de container op te geven. Voor dit doel zullen Dockerfile-instructies worden gebruikt door de ' web ' dienst.
  • havens ” sleutel definieert de blootgestelde poort van containers.
  • afbeelding ” sleutel wordt gebruikt om de basisafbeelding voor service te specificeren:
versie: '3'
Diensten:
web:
bouwen: .
poorten:
- 80 : 80
web1:
afbeelding: html-afbeelding
poorten:
- 80

Stap 2: Start de container

Start de services in containers door gebruik te maken van de ' docker-componeren ” commando. De ' -D ” optie wordt gebruikt om de services in vrijstaande modus uit te voeren:

docker-componeren -D

Bezoek voor bevestiging de lokale host en controleer of de service wordt uitgevoerd of niet:

Dit gaat allemaal over het onderscheid tussen Dockerfile en Docker compose.

Conclusie

De Dockerfile en Docker compose worden beide gebruikt om de applicatie en services in de container te configureren. Het belangrijkste verschil tussen deze twee componenten is dat Dockerfile eenvoudigweg een instructie- of tekstbestand wordt genoemd om de momentopname van de container te maken. Docker compose daarentegen is een configuratietool voor microservices die wordt gebruikt om meerdere containertoepassingen en -services in afzonderlijke containers te configureren. Dit artikel heeft het onderscheid tussen Dockerfile en Docker compose geïllustreerd.