Moduł 1 · Pierwsze kroki z Dockerem
Czym jest Docker: obraz, kontener i rejestr
Po tej lekcji wyjaśnisz, czym jest Docker, i odróżnisz obraz od kontenera i rejestru. Zobaczysz też, jaki problem Docker rozwiązuje w małym zespole programistów.
Problem: „u mnie działa”
Ola pracuje jako programistka w Herbatce, fikcyjnym sklepie internetowym z Krakowa. Napisała w Pythonie raport, który co rano liczy, ile zamówień przyszło i za ile złotych. U niej raport działa. Na laptopie kolegi Bartka już nie, bo Bartek ma inną wersję Pythona, a na serwerze firmy brakuje jednej biblioteki. Każda taka różnica kosztuje godzinę szukania błędu.
Docker rozwiązuje ten problem tak: aplikację pakuje się razem ze wszystkim, czego potrzebuje do działania (wersją języka, bibliotekami, plikami konfiguracyjnymi), w jeden przenośny pakiet. Ten pakiet uruchamia się tak samo na laptopie z Windows, na Macu i na serwerze z Linuksem. Ola nie wysyła już Bartkowi instrukcji „zainstaluj Pythona 3.14 i bibliotekę X”, tylko jedną nazwę obrazu.
Docker nie jest maszyną wirtualną. Maszyna wirtualna udaje cały komputer z własnym systemem operacyjnym. Kontener korzysta z jądra systemu gospodarza i odgradza tylko procesy, pliki i sieć aplikacji. Dlatego startuje w sekundę, a nie w minutę, i zajmuje mniej miejsca. Na Windows i macOS Docker Desktop uruchamia w tle lekką maszynę z Linuksem, w której działają kontenery, ale dla Ciebie wygląda to tak samo jak na Linuksie.
Obraz, kontener i rejestr
Trzy pojęcia wracają w każdej lekcji tego kursu, więc warto je od razu dobrze rozdzielić.
Obraz (ang. image) to szablon tylko do odczytu: system plików z aplikacją i jej zależnościami oraz informacja, jakie polecenie uruchomić na starcie. Obraz się nie „uruchamia”, tak jak przepis nie jest jeszcze obiadem. Obraz składa się z warstw: każda instrukcja w pliku Dockerfile dokłada jedną warstwę, a warstwy wspólne dla wielu obrazów zapisują się na dysku tylko raz.
Kontener to uruchomiony obraz. Z jednego obrazu możesz uruchomić wiele kontenerów naraz, każdy z własną, cienką warstwą do zapisu. Gdy kontener usuniesz, ta warstwa znika razem z nim. To bardzo ważna cecha: wszystko, co ma przetrwać usunięcie kontenera (na przykład dane bazy), trzeba zapisać w wolumenie. Wolumeny poznasz w module 4.
Rejestr to magazyn obrazów, z którego się je pobiera i do którego się je wysyła. Najbardziej znany jest Docker Hub. Znajdziesz tam między innymi obrazy oficjalne (Docker Official Images), takie jak python, postgres czy nginx, przygotowywane i aktualizowane według zasad Dockera. Firmy często mają też własny, prywatny rejestr.
Na podstawie dokumentacji Dockera, stan na październik 2026.
Jak to działa razem
Typowy przebieg pracy wygląda tak. Ola pisze plik Dockerfile, czyli przepis na obraz. Polecenie docker build zamienia przepis w obraz. Polecenie docker push wysyła obraz do rejestru. Bartek albo serwer pobiera go poleceniem docker pull i uruchamia poleceniem docker run. Za każde z tych poleceń odpowiada program Docker Engine: demon dockerd działa w tle, a polecenie docker, które wpisujesz w terminalu, jest jego klientem.
docker build -t herbatka/raport:1.0 . # przepis -> obraz
docker push herbatka/raport:1.0 # obraz -> rejestr
docker pull herbatka/raport:1.0 # rejestr -> inny komputer
docker run herbatka/raport:1.0 # obraz -> działający kontenerPolecenia z dokumentacji Docker CLI, stan na październik 2026.
Czego Docker nie załatwi
Docker ujednolica środowisko, ale nie naprawia samej aplikacji. Jeśli raport Oli ma błąd w obliczeniach, w kontenerze będzie miał ten sam błąd. Kontener nie zastępuje też kopii zapasowych ani zabezpieczeń serwera: dane bazy w wolumenie trzeba kopiować, a hasła trzymać poza obrazem. O tym są moduły 3, 4 i 6.
Docker nie jest też jedynym narzędziem do kontenerów. Ten sam format obrazów (standard OCI) obsługują inne programy, na przykład Podman. W tym kursie pracujesz na Dockerze, bo ma najprostszy start i najwięcej dokumentacji.
Najważniejsze w 3 punktach
- Docker pakuje aplikację razem z zależnościami, dzięki czemu działa tak samo na każdym komputerze.
- Obraz to szablon tylko do odczytu, kontener to uruchomiony obraz, a rejestr to magazyn obrazów.
- Dane zapisane w kontenerze znikają po jego usunięciu, więc ważne dane trzyma się w wolumenach.
Źródła
- Docker Docs, „What is a container?” i „What is an image?”, stan na październik 2026: https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-container/
- Docker Docs, „What is a registry?”, stan na październik 2026: https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-registry/
- Docker Docs, Docker Engine overview, stan na październik 2026: https://docs.docker.com/engine/
- Docker Hub, Docker Official Images, stan na październik 2026: https://docs.docker.com/docker-hub/image-library/trusted-content/
- Open Container Initiative, specyfikacje obrazu i środowiska uruchomieniowego: https://opencontainers.org/