Docker

Mateusz Juźwik
27 lipca 2023
Czas czytania: 2 minut

Spis treści

Docker – co to jest?

Docker to platforma oprogramowania służąca do tworzenia, wdrażania i zarządzania kontenerami aplikacji. Kontenery to lekkie, przenośne i izolowane środowiska, które umożliwiają uruchamianie aplikacji wraz z ich zależnościami na różnych platformach i systemach operacyjnych. Docker ułatwia proces wdrażania i zarządzania aplikacjami, zapewniając spójność między różnymi etapami rozwoju oprogramowania.

 

Aby dokładniej zobrazować to pojęcie, zaprezentujemy je na przykładzie. Załóżmy, że programistą pracuje nad aplikacją internetową. Aplikacja korzysta z określonych wersji języków programowania, frameworków, bibliotek i innych zależności. Jednak różne środowiska, takie jak komputer, serwer produkcyjny lub środowisko testowe, mogą mieć różne konfiguracje i wersje tych zależności. To może prowadzić do problemów zgodności i trudności w reprodukowaniu środowiska, na którym aplikacja działa poprawnie.

 

W tym przypadku Docker idealnie rozwiązuje te problemy. Za pomocą Docker’a możliwe jest zdefiniowanie środowiska, w którym aplikacja powinna działać w postaci pliku konfiguracyjnego zw. Dockerfile. W Dockerfile można zadeklarować, jakie komponenty i zależności są wymagane do uruchomienia aplikacji, takie jak konkretne wersje języków programowania, bibliotek, narzędzi itp.

 

Weź udział w szkoleniu (Nie-)Techniczny PM II

 

Następnie, korzystając z Docker CLI (Command-Line Interface), wykonuje się polecenie „docker build”, które analizuje Dockerfile i buduje obraz kontenera. Obraz jest swoistym szablonem, który zawiera wszystko, co jest potrzebne do uruchomienia aplikacji.

 

Gdy obraz zostanie zbudowany, można uruchomić instancję kontenera na podstawie tego obrazu przy użyciu polecenia „docker run”. Kontener działa w izolowanym środowisku, które jest oddzielone od innych kontenerów i hosta. Można także dostosować parametry uruchamiania, takie jak przekierowywanie portów, montowanie plików konfiguracyjnych itp.

 

Niezależnie od tego, na jakim systemie operacyjnym pracuje programista, ma on pewność, że aplikacja będzie działać w identycznym środowisku, które zostało zdefiniowane w Dockerfile. Może również udostępnić ten sam obraz innym członkom zespołu, aby umożliwić im łatwe wdrażanie aplikacji na swoich komputerach.

Może Cię zainteresować

(Nie-)Techniczny PM I

Szkolenie online

PMasters Toolbox

Karty dobrych praktyk