Podstawy Dockera

Docker w pewnym stopniu zrewolucjonizował tworzenie środowisk dla deweloperów i testerów, powoli wypierając rozwiązania oparte o wirtualizacje. Przyczyn tego stanu można się doszukiwać w zaletach Dockera.
Przede wszystkim w jego lekkości – typowe narzędzie pracy programisty to laptop a trzymanie na nim kilku środowisk wirtualnych jest dość obciążające dla każdej maszyny. Zmiana wirtualizacji na konteneryzacje rozwiązuje problem zasobności – wykorzystywane jest tylko to, co niezbędne. Ważna jest też łatwość użycia – kilka podstawowych poleceń wystarczy by błyskawicznie zbudować środowisko do pracy dla projektu. A na dokładkę bogate źródło gotowych obrazów do pobrania. No i możliwość pracy niezależnie od systemu i środowiska na którym pracuje Docker. W tym artykule poznasz podstawy najpopularniejszego systemu konteneryzacji. Ale po kolei, zacznijmy od podstawowych pojęć.

Co to jest Docker?

Docker jest oprogramowaniem do tworzenia środowiska systemu operacyjnego w tej części, która jest wymagana do działania danej aplikacji. To znaczy ze nie są ładowane pozostałe składniki systemu operacyjnego.
W dzisiejszych czasach aplikacje działają dzięki wielu elementom; frontend, backend, baza danych, biblioteki, frameworki, itd. Te wszystkie elementy zależne są od systemu operacyjnego z kolei system zależny jest od sprzętu. Różne elementy, konfiguracje i zależności powodują, że trudno aplikację przenosić i budować na różnych stanowiskach –  stacje programistów i testerów. Tu z pomocą przychodzi Docker, który przechowuje daną aplikację tylko z jej niezbędnymi elementami w jednym odseparowanym kontenerze.
Kontener łatwo przenieść na inną maszynę i będzie działał tak samo, na każdym środowisku obsługiwanym przez Dockera, nie ma konieczności ponownej konfiguracji środowiska aplikacji na kolejnym systemie.

Co to jest plik dockera (dockerfile)?

Dockerfile jest to plik tekstowy zawierający instrukcję do zbudowania obrazu dockera (docker image).

Co to jest obraz dockera (docker image)?

Obraz dockera jest to szablon/wzorzec używany do zbudowania kontenera. Obrazy są przechowywane lokalnie lub w zdalnym repozytorium https://hub.docker.com Jeden obraz może być użyty do utworzenia wielu kontenerów.

Co to jest kontener (docker container)?

Kontener jest to utworzone odseparowane środowisko dla danej aplikacji, zbudowane na podstawie obrazu. Kontenery są  bardzo lekkie, pochłaniają minimalne zasoby – niezbędną do działania aplikacji. Bootowanie jest bardzo szybkie. Łatwo się je przenosi pomiędzy systemami.

Co to jest kompozytor dockera (docker composer)?

Kompozytor dockera jest narzędziem do tworzenia i uruchamiania bardziej złożonego środowiska dla aplikacji pracującej na wielu kontenerach. Przydatny w architekturze multi-serwisów. Przykład: frontend aplikacja pracuje w jednym kontenerze, backend w innym  a baza danych w kolejnym kontenerze. Tu przykład pliku.

Podstawowe polecenia Dockera

docker help – zwraca listę dostępnych poleceń
docker version – zwraca szczegółowe informacje o zainstalowanej wersji dockera
docker info – zwraca informacje o instancji dockera
docker images – zwraca listę naszych obrazów
docker pull <nazwaObrazu> – pobiera obraz  do naszego dockera
docker rmi <nazwaObrazu> – usuwa obraz
docker ps – zwraca listę działających kontenerów
docker run <nazwaObrazu> – uruchamia kontener na podstawie obrazu
docker start <idKonternera> – uruchamia kontener
docker stop – <idKontenera> – zatrzymuje kontener
docker system df
docker system info
docker stats
docker attach <nazwaKonternera> podlaczenie sie do sesji dzialajacej w kontenerze

W każdym poleceniu możesz użyć parametru help lub –help by zobaczyć składnię, dostępne opcje i parametry danego polecenia.

No dobrze. Skoro znamy już podstawowe pojęcia, to teraz pora zainstalować Dockera.

Polecane materiały:

Tags: