Jak utworzyć plik docker?

Jak utworzyć plik docker?
Docker pozwala programistom na szybkie i wydajne wdrażanie aplikacji i wydajne za pomocą izolowanych i przenośnych kontenerów, które działają w dowolnym miejscu.

Docker to narzędzie open source, które pakuje aplikacje, wszystkie wymagane pakiety i jego podstawowy system operacyjny w pakietach kontenerowych. Ponieważ kontenery Docker są samodzielne, działają na dowolnym systemie bez potrzeby rekonfiguracji.

Docker buduje kontenery z obrazów. Obraz Docker to samodzielny pakiet, który określa wszystkie wymagania potrzebne do uruchomienia aplikacji, takich jak system operacyjny, czas wykonywania, narzędzia systemowe, biblioteki, konfiguracje i inne. Docker konwertuje obrazy na kontenery w czasie wykonywania.

Docker buduje obrazy z konfiguracji zdefiniowanych w pliku dokerowym. Dockerfile to po prostu plik konfiguracyjny, który przedstawia wszystkie instrukcje dotyczące tworzenia obrazu Docker. W rezultacie budowanie obrazów Docker za pomocą pliku dokera jest łatwiejsze i znacznie wydajniejsze.

Ten przewodnik poprowadzi Cię przez tworzenie pliku dokera i użycie go do zbudowania obrazu Dockera.

Format DockerFile

Dockerfile to surowy dokument tekstowy. Wpisy w Dockerfile są w następującym formacie:

$ Argument instrukcji (y)

Pierwsza część określa polecenia Docker, których możesz użyć w skorupce dokera. Drugi reprezentuje argumenty lub określone wartości, które należy przekazać do podstawowej instrukcji.

NOTATKA: Instrukcje nie są wrażliwe. Jednak Docker zaleca użycie wielkich wyników do odróżnienia ich od argumentów.

Poniżej znajdują się popularne instrukcje w pliku dokera.

Z - Ta instrukcja określa obraz nadrzędny dla kolejnych instrukcji. Z klauzuli musi być pierwszym wpisem w pliku dokera. Może przyjść po komentarzu lub analizie lub argument używany w dyrektywie.

Arg - Definiuje zmienne używane podczas kompilacji po uruchomieniu polecenia Docker kompilacji w pliku.

CMD - To ustawia polecenie wykonane po tworzeniu kontenera. Docker pozwala tylko na jedną instrukcję CMD na plik. Kiedy masz więcej niż jeden zdefiniowany, uruchamia ostatnie polecenie.

ETYKIETA - Instrukcja etykiety określa informacje o metadanych dla obrazu. Możesz dodać tyle etykiet, ile uważasz za dopasowanie w postaci par kluczowych. Na przykład metadane obrazu mogą zawierać numer wersji, informacje autora, opis itp.

URUCHOMIĆ - Ustawia instrukcje, które należy wykonać podczas kompilacji obrazu.

UŻYTKOWNIK - Ta instrukcja ustawia nazwę użytkownika lub UID użytkownika podczas uruchamiania obrazu lub instrukcji w pliku dokerowym, takim jak CMD, uruchom.

PUNKT WEJŚCIA - Definiuje polecenia, które Docker wykonuje po tworzeniu kontenera. Opcje są nadrzędne w wierszu poleceń podczas uruchamiania kontenera.

DODAĆ - Niniejsza instrukcja kopiuje pliki i katalogi z określonego źródła do określonego miejsca docelowego. Źródłem może być ścieżka lokalna lub zewnętrzny adres URL. Jeśli pliki są archiwami, Docker automatycznie rozpakowuje je na obraz.

TOM - Instrukcje głośności umożliwiają tworzenie punktów montowania z katalogów maszyn hosta lub innych kontenerów.

UJAWNIĆ - Ta instrukcja informuje Dockera, na którym portu słuchać w czasie wykonywania.

Env - Ustawia zmienne środowiskowe.

Workdir - ustawia obecny katalog roboczy. Jeśli określony katalog nie istnieje, Docker automatycznie utworzy jeden.

Powyższe są kilka standardowych instrukcji, których można użyć w pliku dokerowym.

Jak utworzyć plik docker

Proces tworzenia pliku dokera jest prosty. Zacznij od utworzenia działającego katalogu dla operacji Docker. Następnie utwórz plik Docker i edytuj go z ulubionym edytorem tekstu.

$ cd ~
$ mkdir Docker
$ CD Docker
$ Touch Dockerfile
$ vim dockerfile

Zaczynamy od uzyskania obrazu podstawowego z hub Docker. Możemy to zrobić, używając instrukcji w pliku dokera.

W tym przykładzie utworzymy prosty kontener zawierający uruchomiony serwer Nginx na obrazie Debian 10.

Obraz Debian 10 w Docker Hub

Edytuj DockerFile i dodaj następujące wpisy.

Od Ebiana: 10.9
Uruchom aktualizację apt-get && \
apt -get install -y nginx \
Etykieta utrzymująca = ”Linuxhint”
Etykieta wersja = ”1.0 ”
Opis etykiety = ”prosty obraz działający nginx w debaina 10”
Expose 80/TCP
Cmd [„nginx”, „-g”, „demon off;”]

W powyższym DockerFile zaczynamy od zdefiniowania obrazu podstawowego (Debian 10.9)

Uruchamiamy różne polecenia APT w celu aktualizacji pakietów i instalowania serwera internetowego Nginx.

Następnie dodajemy informacje o metadanych o obrazie, w tym opiekun, wersja i opis.

Wreszcie ustawiamy port Expose, a polecenie wyłącza demon nginx. Polecenie powyżej zapobiega zatrzymaniu kontenera.

Zapisz plik i uruchom kompilację Docker na pliku.

Jak zbudować obraz Dockerfile

Po zakończeniu DockerFile możemy kontynuować budowę obrazu. Uruchom kompilację Docker w katalogu Docker:

$ CD ~/Docker
$ Docker Build -pull -rm -f „DockerFile” -t Docker: Najnowszy „."

W powyższym poleceniu używamy polecenia Docker Build i przekazujemy różne opcje. Na przykład -pull mówi Dockerowi, aby spróbował wyciągnąć najnowszą wersję obrazu.

-RM usuwa natychmiastowe pojemniki po zakończeniu procesu budowy obrazu.

-f Określa nazwę DockerFile.

Wreszcie opcja -t ustawia znacznik dla obrazu.

Powyższe polecenia z powodzeniem zbudują obraz i przechowują go na lokalnym dysku.

Możesz zweryfikować obraz, wywołując polecenie:

$ Docker Image LS
$ Docker Ostatnie 162E94589BEC 2 minuty temu 233 MB

Jak utworzyć kontener Docker

Teraz, gdy mamy obraz z pliku dokera, możemy iść naprzód i odrodzić pojemnik. Aby to zrobić, używamy polecenia Docker Run jako:

$ Docker Run -p 80:80 -Nazwa nginx Docker

Polecenia powyżej uruchomią pojemnik z nazwą nginx i powiązają kontener z portem 80.

Aby wyświetlić działające kontenery, użyj polecenia:

$ Docker Container LS
1C90266035B5 Nginx: ostatnie 57 sekund temu w górę 56 sekund 80/tcp nginx

Polecenie powyżej pokazuje kontener nginx w górę i uruchomiony.

Wniosek

Ten samouczek obejmował pisanie DockerFiles, tworzenie obrazów i uruchamianie kontenera Docker z obrazów. Aby dowiedzieć się więcej o DockerFiles, rozważ dokumentację.