Logo David Burdelak
Słownik · Web development

Co to jest Docker?

Ostatnia aktualizacja:

Docker to narzędzie, które pakuje aplikację razem z jej środowiskiem (system, biblioteki, konfiguracja) do izolowanego kontenera. Dzięki temu działa ona tak samo na komputerze programisty, na serwerze testowym i na produkcji.

Dlaczego deweloperzy przechodzą z XAMPP na Docker?

  • środowisko opisane w pliku, które można odtworzyć jednym poleceniem,
  • zgodne wersje PHP, bazy danych i innych usług z produkcją,
  • łatwe uruchamianie wielu projektów o różnych wymaganiach.

Podstawowe pojęcia

Obraz to szablon środowiska, kontener to jego uruchomiona instancja, a Docker Compose pozwala opisać kilka usług (np. serwer WWW i bazę) w jednym pliku.

Obraz, kontener i Dockerfile

Obraz to niezmienny szablon zawierający system plików i zależności, a kontener to jego uruchomiona instancja. Obraz opisuje się w pliku Dockerfile, w którym kolejne instrukcje tworzą warstwy, a te są buforowane, więc ich kolejność wpływa na szybkość budowania. Kilka kontenerów, np. serwer WWW, PHP i baza danych, łączy się w jeden zestaw plikiem Docker Compose.

Kontenery współdzielą jądro systemu hosta, dlatego są lżejsze niż maszyny wirtualne, ale zapewniają słabszą izolację. Dokumentacja jest dostępna na docs.docker.com.

Czy Docker jest tym samym co maszyna wirtualna?

Nie. Kontenery współdzielą jądro systemu hosta, więc są lżejsze i szybciej się uruchamiają, ale zapewniają słabszą izolację niż pełna maszyna wirtualna.

Zobacz w praktyce

Powiązane pojęcia

Wszystkie hasła z kategorii Web development