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
Przejście z XAMPP-a na Dockera w projektach webowych
Jak wybrać hosting pod konkretny projekt
Jak debugować kod JavaScript i PHP krok po kroku