Dit artikel biedt een leidraad voor een meertraps Docker-build.
Een beginnershandleiding voor een meertraps Docker-build
Bekijk de vermelde methoden om een Docker-image te maken met eenvoudige Dockerfile en meertraps Dockerfile-builds:
- Hoe bouw je een eenvoudige Docker-afbeelding?
- Hoe maak je een Docker-image van Multistage Dockerfile?
Hoe bouw je een eenvoudige Docker-afbeelding?
Volg de gegeven instructies om een eenvoudige Docker-afbeelding te maken met een eenvoudige Dockerfile.
Stap 1: Terminal openen
Van de ramen ' Beginnen ”-menu, open de Git-terminal:
Stap 2: maak een nieuwe map aan
Maak vervolgens een nieuwe projectdirectory met behulp van de gegeven opdracht:
Open daarna de projectdirectory met behulp van de ' CD ” commando:
$ CD Meertraps
Stap 3: maak een programmabestand aan
Maak en open een nieuw programmabestand om de ' golang ” programma. Zo hebben we bijvoorbeeld een “ hoofd.go ' het dossier:
Plak de verstrekte code in de ' hoofd.go ' het dossier. Dit programma print de eenvoudige uitvoer ' Hallo! Welkom bij de LinuxHint-zelfstudie ” op de lokale host:
importeren ('fmt'
'logboek'
'net/http'
)
func behandelaar ( met http . ReactieSchrijver , r * http. Verzoek indienen ) {
fmt . Fprintf ( in , 'Hallo! Welkom bij LinuxHint Tutorial' )
}
func voornaamst () {
http . HandgreepFunc ( '/' , behandelaar )
loggen . dodelijk ( http . ListenAndServe ( '0.0.0.0:8080' , nihil ))
}
Druk op ' CTRL+O ” om de wijzigingen op te slaan en “ CTRL+X ' verlaten.
Stap 4: maak DockerFile aan
Maak en open een nieuw Dockerfile in de Nano-teksteditor met behulp van de ' nano Dockerfile ” commando:
Plak de volgende code in de ' Dockerfile ” die de container zal instrueren hoe het project moet worden geïmplementeerd:
VAN golang: 1.8WERKDIR / Gaan / src / app
KOPIEER main.go .
RUN ga bouwen -O web Server .
CMD [ './web Server' ]
Druk op ' CTRL+O ' om het bestand op te slaan en ' CTRL+X ” om de editor te verlaten:
Stap 5: Docker-afbeelding maken
Maak met behulp van Dockerfile een nieuwe Docker-image via de ' dokwerker gebouwd ” commando. De ' -t ”-tag wordt gebruikt om de afbeeldingstag/naam te specificeren:
Stap 6: voer Docker Image uit
Gebruik na het maken van de Docker-image de onderstaande opdracht om de Docker-image uit te voeren. De ' -p ” optie wordt gebruikt om het poortnummer op te geven waar de Docker-container het programma zal uitvoeren:
Navigeer daarna naar ' http://localhost:8080 ” om te controleren of de applicatie actief is of niet:
Uit de bovenstaande uitvoer kunt u zien dat we de applicatie met succes op localhost hebben geïmplementeerd:
Stap 7: controleer Docker-afbeeldingen
Voer ten slotte de opdracht ' docker-afbeeldingen
Het kan worden opgemerkt dat de grootte van de Docker-afbeelding te groot is om het kleine project uit te voeren. In een dergelijk scenario kan de opbouw in meerdere fasen worden gebruikt om de grootte van de Docker-afbeelding te verkleinen:
Hoe maak je een Docker-image van Multistage Dockerfile?
Om een meertraps Dockerfile te maken om de ontwikkelingsprocessen in fasen op te splitsen en om de afbeeldingsgrootte te verkleinen, bekijk je de gegeven stappen.
Stap 1: Open Dockerfile
Open eerst de Dockerfile in de ' Nano-teksteditor ” via het genoemde commando:
Stap 2: Maak een meertraps Dockerfile
Plak de volgende code in Dockerfile. Het kan worden opgemerkt dat het Docker-bestand meer dan één ' VAN ” statement, wat betekent dat we een meertraps Dockerfile maken:
WERKDIR / Gaan / src / app
KOPIEER main.go .
RUN ga bouwen -O web Server .
VAN alpine
WERKDIR / app
KOPIËREN --van =basis / Gaan / src / app / app /
CMD [ './web Server' ]
Druk op ' CTRL+O ” om wijzigingen op te slaan en “ CTRL+X ” om de editor te verlaten.
Stap 3: maak een Docker-afbeelding
Bouw nu de nieuwe Docker-image met behulp van een meertraps build. Voer hiervoor het gegeven commando uit:
Controleer nogmaals de aanvullende informatie over de Docker-afbeelding via de ' docker-afbeeldingen ” commando:
$ docker-afbeeldingen nieuwe webafbeeldingDe uitvoer laat zien dat we met succes een docker-bestand hebben gemaakt en dat de grootte van het Docker-bestand is teruggebracht tot slechts ' 12,9 MB ”:
Stap 4: voer Docker Image uit
Voer ten slotte de Docker-afbeelding uit om de container uit te voeren om te controleren of de Docker-afbeelding correct werkt of niet:
Open de lokale hostserver door naar de ' http://localhost:8080 ” in de browser:
De uitvoer laat zien dat we het programma met succes hebben geïmplementeerd via een meertrapsversie.
Conclusie
De Docker-build met meerdere fasen specificeert de reeks builds in fasen. Om een meertraps Dockerfile aan te maken, geeft u meer dan één 'FROM'-instructie op en verwijst u naar de eerste ' VAN ”verklaring als de basisversie. Maak daarna een nieuwe Docker-afbeelding met behulp van de ' docker build -t