Docker kojarzy się z serwerami i programistami, ale może przydać się także w domu. Pozwala uruchamiać aplikacje - na przykład własną chmurę na pliki, domowe kino czy blokadę reklam dla całej sieci - bez instalowania ich w systemie. Wszystko, czego potrzebuje aplikacja, siedzi w osobnym „kontenerze”, który w każdej chwili możesz usunąć bez śladu.
Czym jest kontener?
Wyobraź sobie kontenery w porcie. Nieważne, co jest w środku - meble, owoce czy elektronika - każdy kontener ma ten sam kształt, więc da się go postawić na dowolnym statku, pociągu czy ciężarówce. Kontenery w informatyce działają podobnie.
Kontener to paczka, w której jest aplikacja razem ze wszystkim, czego potrzebuje: bibliotekami, ustawieniami, a często też bazą danych czy serwerem WWW. Taka paczka działa tak samo na każdym komputerze z Dockerem - na Linux Mint, Fedorze czy serwerze w chmurze.

Najważniejsze cechy kontenerów:
- Izolacja - aplikacja w kontenerze nie miesza w systemie. Nie musisz instalować PHP, baz danych ani innych dodatków.
- Łatwe usuwanie - kasujesz kontener i po aplikacji nie zostaje ślad (chyba że celowo zachowasz jej dane).
- Powtarzalność - aplikacja działa tak samo u Ciebie, u znajomego i na serwerze.
- Lekkość - kontener to nie cały wirtualny komputer. Korzysta z jądra Twojego systemu, więc uruchamia się w sekundy i zużywa mało zasobów.
Kontener a maszyna wirtualna
Maszyna wirtualna (np. VirtualBox) to cały osobny komputer z własnym systemem operacyjnym, uruchomiony w okienku. Kontener to tylko aplikacja w pudełku, która korzysta z systemu, który już masz.
| Maszyna wirtualna | Kontener | |
|---|---|---|
| Co uruchamia | cały system operacyjny (np. Windows) | jedną aplikację i jej dodatki |
| Start | minuta lub dłużej | kilka sekund |
| Zużycie pamięci | gigabajty | zwykle megabajty |
| Do czego | inny system, programy z Windowsa | aplikacje serwerowe i internetowe |
Jeśli chcesz uruchomić program z Windowsa, potrzebujesz maszyny wirtualnej, a nie Dockera. Docker świetnie sprawdza się za to przy aplikacjach, które otwierasz w przeglądarce.
Do czego przyda się w domu?
Najwięcej korzyści daje przy tak zwanym self-hostingu - uruchamianiu własnych usług zamiast korzystania z usług wielkich firm. Przykłady popularnych aplikacji, które uruchomisz w Dockerze:
| Aplikacja | Do czego służy | Zastępuje |
|---|---|---|
| Nextcloud | własna chmura na pliki, kalendarz, kontakty | Dropbox, Google Drive, OneDrive |
| Immich | kopia zdjęć z telefonu, galeria z wyszukiwaniem | Zdjęcia Google, iCloud |
| Jellyfin | domowe kino - filmy i seriale na telewizorze i telefonie | Plex, Netflix (dla własnych filmów) |
| Pi-hole / AdGuard Home | blokada reklam dla całej sieci domowej | wtyczki w każdej przeglądarce osobno |
| Vaultwarden | menedżer haseł na własnym serwerze | LastPass, 1Password |
| Home Assistant | sterowanie inteligentnym domem | aplikacje producentów |
| Uptime Kuma | sprawdzanie, czy Twoje strony i urządzenia działają | płatne usługi monitorowania |

Jak zacząć
Instalacja Dockera
W Linux Mint i Ubuntu Docker zainstalujesz z repozytorium systemu. Otwórz terminal i wpisz:
sudo apt install docker.io docker-compose-v2
sudo usermod -aG docker $USER
Drugie polecenie pozwala używać Dockera bez wpisywania sudo - zadziała po wylogowaniu i ponownym zalogowaniu. W Fedorze zamiast Dockera często używa się zgodnego z nim programu Podman, a najnowsze wersje Dockera znajdziesz w oficjalnej instrukcji instalacji.
Pierwszy kontener
Sprawdź, czy wszystko działa:
docker run hello-world
Docker pobierze mały obraz testowy, uruchomi go i wyświetli powitanie. Gotowe - właśnie uruchomiłeś swój pierwszy kontener.
Najważniejsze pojęcia
- Obraz - gotowy „przepis” na kontener, pobierany z internetu (najczęściej z Docker Hub).
- Kontener - uruchomiony obraz. Z jednego obrazu możesz uruchomić wiele kontenerów.
- Wolumen - miejsce na dane, które mają przetrwać usunięcie kontenera (np. Twoje zdjęcia w Immich).
- Port - „drzwi”, przez które otwierasz aplikację w przeglądarce, np.
http://localhost:8080.
Docker Compose - aplikacja w jednym pliku
Większość aplikacji domowych uruchamia się za pomocą pliku compose.yaml, w którym zapisane jest, co uruchomić i gdzie trzymać dane. Twórcy aplikacji zwykle podają gotowy plik w dokumentacji. Przykład dla Uptime Kuma:
services:
uptime-kuma:
image: louislam/uptime-kuma:1
ports:
- "3001:3001"
volumes:
- ./dane:/app/data
restart: unless-stopped
Zapisz go w osobnym folderze jako compose.yaml i uruchom:
docker compose up -d
Aplikacja będzie dostępna w przeglądarce pod adresem http://localhost:3001, a jej dane trafią do folderu dane obok pliku. Żeby ją zatrzymać i usunąć, wpisz docker compose down - folder z danymi zostanie.
Na co uważać
Zalety
- aplikacje nie mieszają w systemie
- łatwe usuwanie i przenoszenie na inny komputer
- tysiące gotowych aplikacji z instrukcjami
- ta sama aplikacja działa wszędzie tak samo
Na co uważać
- obsługa odbywa się głównie w terminalu - to narzędzie dla bardziej zaawansowanych
- używaj obrazów z oficjalnych źródeł, od twórców aplikacji
- dbaj o kopie zapasowe wolumenów z danymi
- nie udostępniaj aplikacji w internecie bez zabezpieczeń - na początek trzymaj je w sieci domowej
Docker nie jest potrzebny, żeby wygodnie korzystać z Linuksa na co dzień - programy biurowe, przeglądarkę czy gry instalujesz ze sklepu z aplikacjami. Ale jeśli chcesz mieć własną chmurę, kopię zdjęć bez wielkich firm albo po prostu nauczyć się czegoś nowego, Linux to najlepsze miejsce, żeby zacząć - Docker działa na nim natywnie, bez żadnych dodatkowych warstw.
Szukasz zwykłych programów?
Programy na co dzień instalujesz prościej - zobacz, czym są Flatpak, AppImage i Snap, albo przejrzyj bazę oprogramowania.
Zdjęcie na górze: terminal kontenerowy w Hamburgu, autor JoachimKohler-HB, Wikimedia Commons, licencja CC BY-SA 4.0.

