Ten post pokaże podstawową koncepcję wielostopniowej kompilacji Docker.
Różnica między prostą budową a wieloetapową kompilacją
Prosta kompilacja zawiera tylko jedną „Z”Aby określić obraz podstawowy. Wszystkie zależności instalacyjne i pliki źródłowe są przetwarzane w jednej sekcji. Obraz zbudowany przez prostą kompilację jest również ogromny. Jednak wielostopniowe kompilacje są podzielone na wielokrotnie i mają wiele instrukcji „z”. Wielowarstwowa kompilacja jest również pomocna w zmniejszaniu rozmiaru obrazu. Można go również wykorzystać, jeśli użytkownicy chcą przetwarzać lub tworzyć obrazy w fragmentach, aby wykonywać kod w sekcjach.
Jak zrobić obraz z wieloetapowych kompilacji?
Aby zrobić prosty obraz dokera z wieloetapowych kompilacji, najpierw utwórz wielopoziomowy plik dokujący. Następnie wykonaj „zbudować„Polecenie Dockera do zbudowania obrazu. Aby to zrobić, spójrz na podane kroki.
Krok 1: Otwarty terminal
Najpierw uruchom terminal z menu Start, aby użyć Docker CLI. Za to wykorzystamy „Git Bash”W systemie Windows:
Otwórz katalog/folder aplikacji za pomocą „płyta CD" Komenda:
$ CD wielopiętrowy
Krok 2: Utwórz plik kodu
Następnie utwórz plik programu. W tym celu wykorzystaliśmy nano edytor tekstu do utworzenia „główny.Iść" plik programu. Możesz jednak użyć Edytora kodu Notate lub Visual Studio Code:
$ nano main.Iść
Wklej poniżej przekazany kod do pliku:
import (
„FMT”
"dziennik"
„net/http”
)
Funchandler (w http.ResponseWriter, r *http.Wniosek)
fmt.Fprintf (w, „Witam! Witamy w samouczku Linuxhint ”)
funcMain ()
http.Hevingfunc („/”, obsługa)
dziennik.Fatalny (HTTP.Słuchaj i serwera ("0.0.0.0: 8080 ", zero))
Krok 3: Utwórz wieloetapowe pliki dokerowe
Następnie generuj i otwórz ”Dockerfile„W edytorze tekstu Nano, aby określić wieloetapowe instrukcje dla wielostopniowej kompilacji:
$ Nano Dockerfile
Skopiuj poniższy fragment do DockerFile. Tutaj instrukcje Dockerfile są podzielone na dwie sekcje:
Od Golang: 1.8 jako podstawa
WorkDir/Go/Src/App
Kopiuj główny.Iść .
RUN GO BUDLE -O WEBSERVER .
Z alpejskiego
WorkDir /App
Kopiuj - -from = base/go/src/app/app/app/
CMD [”./serwer internetowy"]
Krok 4: Wygeneruj wieloetapowy obraz Docker
Korzystając z wieloetapowego pliku dokera, wygeneruj obraz przez „Docker Build" Komenda. Tutaj, aby zdefiniować tag/nazwę obrazu, wykorzystaliśmy „-T" flaga:
$ Docker Build -t New-Web-Image .
Sprawdź, czy obraz jest tworzony, czy nie, używając „Obrazy dokera " Komenda:
$ Docker Images New-Web-Imagage
Poniższe wyjście pokazuje, że obraz jest tworzony, a rozmiar obrazu jest tylko „12.9 MB”:
Krok 4: Uruchom obraz Docker
Aby wykonać obraz, aby utworzyć i uruchomić kontener do wdrożenia programu, przejdź przez wspomniane polecenie. Tutaj "-P„Flaga jest wykorzystywana do przydzielenia odsłoniętego portu kontenera:
$ Docker Run -p 8080: 8080 New-Web-Imagage
Odwiedź port eksponujący lokalnego hosta w przeglądarce, aby sprawdzić, czy kontener jest uruchomiony, czy nie:
Z powyższego obrazu może być oczywiste, że wdrożyliśmy program za pośrednictwem wielostopniowej kompilacji.
Wniosek
W wielostopniowej kompilacji proces rozwoju jest podzielony na wieloetapowe. Plik dokujący jest podzielony na wiele sekcji i ma wiele „Z" sprawozdania. Można go wykorzystać, jeśli użytkownicy chcą przetwarzać lub tworzyć obrazy w fragmentach, aby wykonywać kod w sekcjach. Wielowarstwowa kompilacja jest również pomocna w zmniejszaniu rozmiaru obrazu. W tym artykule pokazano podstawowe zrozumienie wielostopniowych kompilacji Docker.