Przejdź do treści
Docker dla początkującychModuł 1 · lekcja 1 z 3
Za darmo4 min czytania

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.

Najważniejsze pojęcia Dockera

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.

Terminal
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 kontener
Droga aplikacji od przepisu do działającego kontenera

Polecenia 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

  1. Docker pakuje aplikację razem z zależnościami, dzięki czemu działa tak samo na każdym komputerze.
  2. Obraz to szablon tylko do odczytu, kontener to uruchomiony obraz, a rejestr to magazyn obrazów.
  3. Dane zapisane w kontenerze znikają po jego usunięciu, więc ważne dane trzyma się w wolumenach.

Źródła

Materiały do pobrania

Pliki do ćwiczeń są dostępne w abonamencie.

  • Pierwszy kontener: strona sklepu Herbatka w nginxModuł 1, lekcja 3: strona/index.html i polecenia z rozwiązaniem1 KBDostępne w abonamencie
  • Kontenery na co dzień: baza.env i polecenia diagnozyModuł 2, lekcje 1 i 3: diagnoza kontenera, porty, zmienne, restart1 KBDostępne w abonamencie
  • Dockerfile: raport zamówień (CSV i PostgreSQL)Moduł 3: Dockerfile z lukami i rozwiązanie, obraz wieloetapowy, plik do oceny, wynik kontrolny7 KBDostępne w abonamencie
  • Dane i sieci: skrypty bazy, zapytania z wynikamiModuł 4, lekcja 3: init/*.sql (48 zamówień), zapytania.sql, kopia i odtworzenie3 KBDostępne w abonamencie
  • Docker Compose: raport z bazą, sekret, healthcheckModuł 5: kompletny projekt, plik z 4 błędami do ćwiczenia i rozwiązanie6 KBDostępne w abonamencie
  • Od laptopa do serwera: override, prod, logi, kopiaModuł 6: compose.override.yaml, compose.prod.yaml, daemon.json, kopia-bazy.sh6 KBDostępne w abonamencie
  • Projekt końcowy: raport stanów magazynowychModuł 7: zadanie, klucz oceny, aplikacja startowa, test_projektu.py, przykładowe rozwiązanie11 KBDostępne w abonamencie

Następna: Instalacja: Docker Desktop, Docker Engine i licencja

20 lekcji, pliki i certyfikat w abonamencie.

Program kursu

Karta wymagana · anulujesz jednym kliknięciem · Mam już konto