Docker jest obecnie technologią na żądanie, ponieważ wiele dużych firm używa jej do zmniejszenia obciążenia pracąload. Służy do budowania, pakowania i wdrażania aplikacji w oparciu o technologię kontenerową. Docker może uruchomić aplikację o wysokim wykorzystaniu zasobów przy minimalnym zużyciu zasobów. Wirtualizacja oparta na hiperwizorze wymaga dużej ilości zasobów do zainstalowania całego systemu operacyjnego, podczas gdy Docker używa bardzo lekkich i skalowalnych kontenerów do uruchamiania aplikacji.
Docker można zainstalować na systemach Linux, Mac i Windows. Chociaż działa natywnie w systemie Linux, wymaga włączenia funkcji Hyper-V w systemie Windows.
Docker ma również Docker Hub, usługę opartą na chmurze, w której możemy znaleźć obrazy od zweryfikowanych wydawców, a także możemy publikować i udostępniać własne obrazy niestandardowe. Po ściągnięciu obrazu z Docker Hub możemy stworzyć wiele kontenerów z tego samego obrazu.
Cechy Dockera:
- Jest to oprogramowanie typu open source.
- Zapewnia platformę jako usługę do uruchamiania aplikacji w środowisku wirtualnym.
- Bardzo łatwo jest zrozumieć i korzystać z technologii Docker.
- Aplikacje Docker można łatwo przenosić i uruchamiać w dowolnym systemie z zainstalowanym Dockerem.
- Migracja kontenerów dockera jest bardzo szybka ze środowiska chmurowego do lokalnego hosta i na odwrót.
Docker może odczytywać i wykonywać instrukcje zawarte w pliku Docker i automatycznie budować określony obraz. Ten przewodnik pokaże, jak możemy automatycznie zbudować obraz dockera za pomocą pliku Dockerfile w systemie operacyjnym Debian 10 (Buster). Wdrożymy serwer WWW Nginx i stworzymy niestandardowy obraz Dockercker.
Wymagania wstępne:
- Dostęp do uprawnień „sudo”.
- Podstawowa znajomość poleceń Dockera.
Zanim rozpoczniemy naszą podróż, szybko przejrzyjmy kilka ważnych pojęć i wymagań, które są niezbędne do zrozumienia tego przewodnika. Pierwszą rzeczą jest to, że powinieneś mieć zainstalowany Docker w swoim systemie. Jeśli jeszcze tego nie zrobiłeś, możesz skorzystać z tego przewodnika, aby zainstalować docker. Możesz także skorzystać z oficjalnego przewodnika dostępnego na stronie Docker, aby zainstalować Docker na Debianie 10.
- Plik dockera: Ten plik opisuje całą konfigurację, którą chcemy mieć w naszym kontenerze Docker. Jest to zestaw instrukcji, które definiują sposób budowania wizerunku.
- Obraz dokowany: W rzeczywistości jest to obraz szablonu, którego możemy użyć do zbudowania naszego niestandardowego kontenera. Można powiedzieć, że obraz dokowany jest plikiem niezmiennym lub obrazem tylko do odczytu.
- Kontener Dockera: W bardzo prostych słowach kontener Docker jest instancją naszego obrazu docker. Możemy powiedzieć, że obraz Docker jest obrazem bazowym i tworzymy niestandardowy kontener na górze obrazu Docker, dodając do tego obrazu warstwę z możliwością zapisu. Możemy użyć jednego obrazu Docker do tworzenia wielu kontenerów Docker.
Mam nadzieję, że ta recenzja wystarczy nam do rozpoczęcia pracy z Dockerem. Zanurzmy się więc, aby zobaczyć, jak automatycznie tworzyć obrazy przy użyciu pliku Dockerfile.
Krok 1: Pierwszy krok w tworzeniu obrazu zaczyna się od pliku docker. Stwórzmy więc najpierw katalog roboczy, a wewnątrz niego utworzymy plik Dockerfile.
$ mkdir mydock1 # Tworzy nowy katalog.$ nano Dockerfile # To jest nasz dockerfile.
Możemy używać dowolnego edytora tekstu oprócz nano, takiego jak vi czy vim.
Krok 2. Dodaj następującą zawartość do pliku Dockerfile i zapisz ją.
OD ubuntuKONSERWATOR linuxhint
URUCHOM aktualizację apt-get \
&& apt-get install -y nginx \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& echo "demon off;" >> /etc/nginx/nginx.konf
EKSPOZYCJA 80
Usługa CMD nginx start
Krok 3. Teraz, gdy mamy gotowy plik Dockerfile, nadszedł czas na zbudowanie obrazu. Wystarczy użyć następującego polecenia:
$ sudo docker build -t webserver-image:v1 .Składnia:
sudo docker build -t nazwa: tag /ścieżka/do/katalogu/pliku dockeraUwaga: Zawsze uruchamiaj polecenie docker z uprawnieniami użytkownika root lub „sudo”, aby uniknąć błędu: „Odmowa uprawnień podczas próby połączenia z gniazdem demona Docker pod adresem unix:///var/run/docker”
W powyższym poleceniu obraz serwera WWW to nazwa naszego obrazu docker. Tutaj możesz użyć swojej niestandardowej nazwy. V1 to tag dla naszego wizerunku.
Jeśli wszystko pójdzie dobrze, powinniśmy zobaczyć następujący wynik:
Wysyłanie kontekstu kompilacji do demona Docker 2 .048kB
Krok 1/5 : Z ubuntu
-> f643c72bc252
Krok 2/5 : KONSERWATOR linuxhint
-> Korzystanie z pamięci podręcznej
-> 1edea6faff0d
Krok 3/5 : URUCHOM apt-get update && apt-get install -y nginx && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && echo” demon wyłączony;” >> /etc/nginx/nginx.konf
-> Korzystanie z pamięci podręcznej
-> 81398a98cf92
Krok 4/5 : EKSPOZYCJA 80
-> Korzystanie z pamięci podręcznej
-> 2f49ffec5ca2
Krok 5/5 : Uruchomienie usługi CMD nginx
-> Korzystanie z pamięci podręcznej
-> 855796a41bd6
Pomyślnie zbudowany 855796a41bd6
Pomyślnie otagowano obraz-serwera WWW:v1
Krok 4. Gdy mamy wiele obrazów, możemy użyć poniższego polecenia, aby wyszukać konkretny obraz:
Krok 5. Teraz uruchomimy nasz obraz dokowany, aby sprawdzić, czy działa zgodnie z oczekiwaniami:
$ sudo docker run -d -p 80:80 obraz-serwera WWW: v1Po udanym uruchomieniu wygeneruje długi identyfikator, jak pokazano poniżej:
Krok 6. Jeśli wszystko pójdzie dobrze, powinniśmy być w stanie zobaczyć naszą stronę internetową działającą w naszej przeglądarce internetowej nginx w dokerze. Uruchom poniższe polecenie, aby to sprawdzić:
$ curl 'adres_ip'Pamiętaj, że adres IP, którego tutaj używamy, to adres IP kontenera dockera zainstalowany w naszym systemie operacyjnym hosta. Aby dokładnie poznać wymagany tutaj adres IP, uruchom następujące polecenie na hoście:
$ ip a | grep ^dockerPowyższe polecenie będzie zawierało adres IP, którego musimy tutaj użyć.
Powyższe polecenie curl wyświetli indeks.zawartość html serwera WWW nginx.
Innym prostym i prostym sposobem jest przekazanie okna dokowanego jako argumentu curl, jak pokazano poniżej:
Krok 7. Jeśli chcesz, możesz sprawdzić, który port i procesy działają w naszym kontenerze docker do. Uruchom poniższe polecenie:
$ sudo doker psTo kończy nasz przewodnik dotyczący automatycznego tworzenia obrazów Docker w Debianie 10 (Buster). Widzieliśmy, jak możemy konstruować obrazy Docker z pliku Dockerfile zamiast ręcznie edytować każdy obraz.
Chociaż ten przewodnik jest wykonywany na Debianie 10, powinien również działać na innych dystrybucjach opartych na Debianie, takich jak Ubuntu, Linux mint itp. Nie zapomnij podzielić się tym przewodnikiem z innymi. Ponadto zasubskrybuj nasz blog, aby uzyskać najnowszą aktualizację i instrukcje dotyczące systemu Linux.