🐳 Kompletny przewodnik - Instalacja Docker na Ubuntu 24.04 krok po kroku
Docker zrewolucjonizował sposób, w jaki programiści i administratorzy systemów tworzą, wdrażają i uruchamiają aplikacje. Dzięki konteneryzacji możesz zapakować swoją aplikację wraz ze wszystkimi zależnościami w przenośne jednostki, które działają tak samo niezależnie od środowiska. Ubuntu 24.04 LTS (Noble Numbat) to doskonała platforma do uruchamiania Dockera, oferująca stabilność, wydajność i długoterminowe wsparcie. Ten przewodnik przeprowadzi Cię przez proces instalacji i podstawowej konfiguracji Dockera na najnowszej wersji Ubuntu.
⚡ Ekspresowe Podsumowanie:
- Przygotowanie systemu: Zaktualizuj system i zainstaluj wymagane pakiety.
- Dodanie repozytorium Docker: Skonfiguruj oficjalne repozytorium Docker dla Ubuntu 24.04.
- Instalacja komponentów: Zainstaluj Docker Engine, Docker CLI i Containerd.
- Konfiguracja uprawnień: Dodaj swojego użytkownika do grupy docker, aby uniknąć konieczności używania sudo.
- Weryfikacja i testowanie: Sprawdź poprawność instalacji uruchamiając testowy kontener.
🗺️ Spis Treści - Twoja Mapa Drogowa
- Ekspresowe Podsumowanie:
- Co to jest Docker i dlaczego warto go używać?
- Podstawy Dockera
- Kluczowe korzyści z używania Dockera:
- Docker na Ubuntu 24.04
- Wymagania systemowe
- Minimalne wymagania sprzętowe:
- Wymagania systemowe:
- Sprawdzanie wersji systemu:
- 🧰 Przygotowanie systemu
- Aktualizacja systemu
- Instalacja wymaganych pakietów
- Dodanie oficjalnego repozytorium Docker
- Dodanie klucza GPG Dockera
- Dodanie repozytorium Docker
- Aktualizacja list pakietów
- Instalacja Docker Engine
- Instalacja wszystkich komponentów
- Weryfikacja instalacji
- Konfiguracja Docker Compose
- Sprawdzenie instalacji Docker Compose
- Instalacja Docker Compose V1 (opcjonalnie)
- Konfiguracja uprawnień użytkownika
- Dodanie użytkownika do grupy docker
- Zastosowanie zmian
- Weryfikacja uprawnień
- ️ Konfiguracja automatycznego uruchamiania Dockera
- Sprawdzenie statusu automatycznego uruchamiania
- Włączenie automatycznego uruchamiania
- Wyłączenie automatycznego uruchamiania (opcjonalnie)
- 🧪 Testowanie instalacji Dockera
- Uruchomienie kontenera testowego
- Uruchomienie interaktywnego kontenera
- Testowanie Docker Compose
- ️ Konfiguracja zaawansowana (opcjonalnie)
- Zmiana lokalizacji danych Dockera
- Konfiguracja proxy dla Dockera
- Ograniczenie zasobów domyślnych dla kontenerów
- Podstawowe zabezpieczenia Dockera
- Audyt konfiguracji bezpieczeństwa
- Regularne aktualizacje
- ️ Rozwiązywanie typowych problemów
- Problem: Nie można połączyć się z daemonem Dockera
- Problem: Konflikty portów
- Problem: Brak uprawnień
- Problem: Problemy z przestrzenią dyskową
- Podstawowe polecenia Docker
- Zarządzanie obrazami
- Zarządzanie kontenerami
- Praca z Docker Compose
- Monitorowanie i debugowanie
- Podsumowanie - Docker na Ubuntu 24.04
- Następne kroki
- Kategorie i tagi
- Czy ten artykuł był pomocny?
- Twoja strona WordPress działa wolno?
🔍 Co to jest Docker i dlaczego warto go używać?
Przed przystąpieniem do instalacji, warto zrozumieć, czym jest Docker i jakie korzyści przynosi.
Podstawy Dockera
Docker to platforma open-source, która automatyzuje wdrażanie aplikacji w lekkich, przenośnych jednostkach zwanych kontenerami. Kontenery zawierają wszystko, czego aplikacja potrzebuje do działania, w tym kod, środowisko uruchomieniowe, biblioteki i zależności.
Kluczowe korzyści z używania Dockera:
- Przenośność - kontenery działają tak samo w każdym środowisku
- Szybkość - kontenery uruchamiają się w sekundy, w przeciwieństwie do maszyn wirtualnych
- Izolacja - aplikacje działają w izolowanych środowiskach
- Skalowalność - łatwe skalowanie i replikacja kontenerów
- Efektywność - lepsze wykorzystanie zasobów w porównaniu do tradycyjnych maszyn wirtualnych
Docker na Ubuntu 24.04
Ubuntu 24.04 LTS (Noble Numbat), wydany w kwietniu 2024, oferuje 5 lat wsparcia, co czyni go idealnym systemem operacyjnym dla środowisk produkcyjnych. Instalacja Dockera na tej wersji Ubuntu jest prosta i zapewnia stabilne środowisko dla aplikacji kontenerowych.
📋 Wymagania systemowe
Zanim rozpoczniesz instalację Dockera, upewnij się, że Twój system spełnia poniższe wymagania:
Minimalne wymagania sprzętowe:
- Procesor: 64-bitowy procesor
- RAM: 2 GB (zalecane 4 GB lub więcej dla środowisk produkcyjnych)
- Przestrzeń dyskowa: co najmniej 20 GB wolnego miejsca
Wymagania systemowe:
- System operacyjny: Ubuntu 24.04 LTS (Noble Numbat)
- Kernel Linux: 5.15 lub nowszy (domyślnie w Ubuntu 24.04)
- Uprawnienia: Dostęp administratora (sudo)
Sprawdzanie wersji systemu:
Aby potwierdzić, że korzystasz z Ubuntu 24.04, wykonaj poniższe polecenie:
lsb_release -a
Powinieneś zobaczyć wynik podobny do:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Aby sprawdzić wersję jądra Linux:
uname -r
Wynik powinien pokazać wersję 6.8.x lub nowszą.
🧰 Przygotowanie systemu
Aktualizacja systemu
Przed instalacją Dockera, należy zaktualizować listy pakietów i zainstalować dostępne aktualizacje:
# Aktualizacja list pakietów
sudo apt update
# Instalacja dostępnych aktualizacji
sudo apt upgrade -y
Instalacja wymaganych pakietów
Docker wymaga kilku pakietów do prawidłowego działania. Zainstaluj je za pomocą następującego polecenia:
sudo apt install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
Rola każdego pakietu:
- apt-transport-https: Umożliwia apt korzystanie z repozytoriów przez HTTPS
- ca-certificates: Pomaga systemowi weryfikować certyfikaty SSL
- curl: Narzędzie do transferu danych przez URL
- gnupg: Implementacja OpenPGP do bezpiecznej komunikacji i przechowywania danych
- lsb-release: Dostarcza informacje o dystrybucji Linux
🔑 Dodanie oficjalnego repozytorium Docker
Docker jest dostępny w repozytoriach Ubuntu, ale często nie jest to najnowsza wersja. Aby mieć dostęp do najnowszych wersji Dockera, należy dodać oficjalne repozytorium.
Dodanie klucza GPG Dockera
Najpierw dodaj oficjalny klucz GPG Dockera:
# Utwórz katalog dla kluczy Apt
sudo mkdir -p /etc/apt/keyrings
# Pobierz i dodaj oficjalny klucz GPG Docker
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Nadaj odpowiednie uprawnienia
sudo chmod a+r /etc/apt/keyrings/docker.gpg
Dodanie repozytorium Docker
Teraz dodaj oficjalne repozytorium Docker do źródeł APT:
# Dodaj repozytorium Docker do źródeł Apt
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Uwaga: W momencie premiery Ubuntu 24.04, oficjalne repozytorium Docker może nie mieć jeszcze pakietów specyficznych dla "noble" (kodu Ubuntu 24.04). W takim przypadku, możesz tymczasowo użyć pakietów z poprzedniej wersji LTS (jammy) zmieniając
$(lsb_release -cs)
najammy
w powyższym poleceniu.
Aktualizacja list pakietów
Po dodaniu repozytorium, zaktualizuj listy pakietów:
sudo apt update
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys [MISSING_KEY]
, gdzie [MISSING_KEY]
to identyfikator brakującego klucza.💾 Instalacja Docker Engine
Po dodaniu repozytorium, możesz przystąpić do instalacji Dockera. Dostępne są różne pakiety związane z Dockerem:
- docker-ce: Docker Community Edition - główny pakiet
- docker-ce-cli: Interfejs wiersza poleceń Docker
- containerd.io: Runtime kontenerów używany przez Docker
- docker-buildx-plugin: Rozszerzenie Docker dla buildx
- docker-compose-plugin: Plugin Docker Compose
Instalacja wszystkich komponentów
Aby zainstalować wszystkie potrzebne komponenty, użyj następującego polecenia:
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Weryfikacja instalacji
Po zakończeniu instalacji, sprawdź, czy Docker został poprawnie zainstalowany:
sudo docker --version
Powinieneś zobaczyć informację o wersji Dockera, na przykład:
Docker version 25.0.3, build 6eef942
Aby sprawdzić, czy usługa Docker działa:
sudo systemctl status docker
Powinieneś zobaczyć, że usługa jest aktywna (running).
🚢 Konfiguracja Docker Compose
Docker Compose jest narzędziem do definiowania i uruchamiania aplikacji Docker składających się z wielu kontenerów. W najnowszych wersjach Dockera, Docker Compose jest dostępny jako plugin.
Sprawdzenie instalacji Docker Compose
Jeśli zainstalowałeś pakiet docker-compose-plugin
w poprzednim kroku, Docker Compose powinien być już dostępny. Sprawdź jego wersję:
docker compose version
Powinieneś zobaczyć informację o wersji Docker Compose, na przykład:
Docker Compose version v2.21.0
Uwaga: Zauważ, że polecenie to używa
docker compose
(bez myślnika), co jest nowym formatem polecenia dla Docker Compose V2. Starszy formatdocker-compose
(z myślnikiem) odnosi się do starszej wersji napisanej w Pythonie.
Instalacja Docker Compose V1 (opcjonalnie)
Jeśli potrzebujesz starszej wersji Docker Compose (V1), możesz ją zainstalować jako oddzielne narzędzie:
# Pobierz najnowszą wersję Docker Compose V1
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# Nadaj uprawnienia wykonywania
sudo chmod +x /usr/local/bin/docker-compose
# Sprawdź wersję
docker-compose --version
docker compose
), ponieważ jest to aktywnie rozwijana wersja z nowszymi funkcjami i poprawkami bezpieczeństwa.👤 Konfiguracja uprawnień użytkownika
Domyślnie, polecenia Docker wymagają uprawnień roota, co oznacza konieczność używania sudo
przed każdym poleceniem. Możesz uniknąć tego, dodając swojego użytkownika do grupy docker
.
Dodanie użytkownika do grupy docker
sudo usermod -aG docker $USER
Zastosowanie zmian
Aby zmiany uprawnień zostały zastosowane, musisz się wylogować i zalogować ponownie. Alternatywnie, możesz zastosować zmiany w bieżącej sesji terminalowej:
newgrp docker
Weryfikacja uprawnień
Sprawdź, czy możesz uruchamiać polecenia Docker bez sudo:
docker run hello-world
Jeśli widzisz wiadomość powitalną od Docker, oznacza to, że konfiguracja uprawnień zakończyła się sukcesem.
Uwaga: Dodanie użytkownika do grupy docker daje mu uprawnienia równoważne z uprawnieniami roota. Więcej informacji na temat implikacji bezpieczeństwa znajdziesz w oficjalnej dokumentacji Docker.
⚙️ Konfiguracja automatycznego uruchamiania Dockera
Domyślnie, usługa Docker jest skonfigurowana do automatycznego uruchamiania po starcie systemu. Możesz to zweryfikować i zmienić w razie potrzeby.
Sprawdzenie statusu automatycznego uruchamiania
sudo systemctl is-enabled docker
Jeśli usługa jest ustawiona do automatycznego uruchamiania, zobaczysz wynik enabled
.
Włączenie automatycznego uruchamiania
Jeśli usługa nie jest włączona:
sudo systemctl enable docker
Wyłączenie automatycznego uruchamiania (opcjonalnie)
Jeśli nie chcesz, aby Docker uruchamiał się automatycznie:
sudo systemctl disable docker
🧪 Testowanie instalacji Dockera
Aby upewnić się, że Docker działa poprawnie, przeprowadź kilka testów.
Uruchomienie kontenera testowego
docker run hello-world
To polecenie pobiera obraz testowy i uruchamia go. Jeśli wszystko działa poprawnie, zobaczysz wiadomość powitalną.
Uruchomienie interaktywnego kontenera
Spróbuj uruchomić interaktywny kontener Ubuntu:
docker run -it ubuntu bash
To polecenie pobierze obraz Ubuntu i uruchomi powłokę bash wewnątrz kontenera. Po wykonaniu polecenia, znajdziesz się wewnątrz kontenera Ubuntu. Aby wyjść, wpisz exit
.
Testowanie Docker Compose
Utwórz prosty plik docker-compose.yml
:
mkdir ~/docker-test
cd ~/docker-test
Utwórz plik docker-compose.yml
o następującej zawartości:
version: '3'
services:
web:
image: nginx:latest
ports:
- "8080:80"
Uruchom usługę za pomocą Docker Compose:
docker compose up -d
Sprawdź, czy kontener nginx działa:
docker ps
Powinieneś zobaczyć działający kontener nginx. Możesz otworzyć przeglądarkę i przejść do http://localhost:8080
, aby zobaczyć stronę powitalną Nginx.
Zatrzymaj i usuń kontener:
docker compose down
🛠️ Konfiguracja zaawansowana (opcjonalnie)
Zmiana lokalizacji danych Dockera
Domyślnie, Docker przechowuje wszystkie obrazy, kontenery i wolumeny w /var/lib/docker
. Jeśli chcesz zmienić tę lokalizację (np. na dysk z większą ilością miejsca), możesz to zrobić:
-
Zatrzymaj usługę Docker:
sudo systemctl stop docker
-
Utwórz plik konfiguracyjny Dockera:
sudo mkdir -p /etc/docker sudo nano /etc/docker/daemon.json
-
Dodaj następującą zawartość (zmień ścieżkę według potrzeb):
{ "data-root": "/path/to/new/docker/data/directory" }
-
Zapisz plik i zamknij edytor.
-
Przenieś istniejące dane Docker (opcjonalnie):
sudo rsync -aP /var/lib/docker/ /path/to/new/docker/data/directory/
-
Uruchom ponownie usługę Docker:
sudo systemctl start docker
Konfiguracja proxy dla Dockera
Jeśli pracujesz za proxy, możesz skonfigurować Dockera, aby go używał:
-
Utwórz lub edytuj plik daemon.json:
sudo nano /etc/docker/daemon.json
-
Dodaj konfigurację proxy:
{ "proxies": { "http-proxy": "http://proxy.example.com:port", "https-proxy": "https://proxy.example.com:port", "no-proxy": "localhost,127.0.0.1,internal-docker.example.com" } }
-
Zapisz plik i uruchom ponownie Dockera:
sudo systemctl restart docker
Ograniczenie zasobów domyślnych dla kontenerów
Możesz ustawić domyślne limity zasobów dla wszystkich kontenerów:
-
Edytuj plik daemon.json:
sudo nano /etc/docker/daemon.json
-
Dodaj konfigurację limitów:
{ "default-shm-size": "64M", "default-ulimits": { "nofile": { "Name": "nofile", "Hard": 64000, "Soft": 64000 } } }
-
Zapisz plik i uruchom ponownie Dockera:
sudo systemctl restart docker
🔒 Podstawowe zabezpieczenia Dockera
Audyt konfiguracji bezpieczeństwa
Docker domyślnie tworzy sieć mostkową (bridge network), która pozwala kontenerom komunikować się między sobą i z hostem. Aby zabezpieczyć swoją instalację Dockera, rozważ następujące kroki:
-
Ogranicz dostęp do socket Docker: Socket Docker (
/var/run/docker.sock
) daje pełną kontrolę nad Dockerem. Upewnij się, że tylko zaufani użytkownicy mają do niego dostęp. -
Używaj sieci użytkownika:
docker network create --driver bridge isolated_network docker run --network=isolated_network nginx
-
Ogranicz możliwości kontenerów:
docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE nginx
Regularne aktualizacje
Regularne aktualizacje są kluczowym elementem bezpieczeństwa:
# Aktualizacja list pakietów
sudo apt update
# Aktualizacja Docker i innych pakietów
sudo apt upgrade -y
⚠️ Rozwiązywanie typowych problemów
Problem: Nie można połączyć się z daemonem Dockera
Objawy:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Rozwiązania:
-
Sprawdź, czy usługa Docker działa:
sudo systemctl status docker
-
Jeśli nie działa, uruchom ją:
sudo systemctl start docker
-
Sprawdź logi, aby zidentyfikować problemy:
sudo journalctl -xu docker
Problem: Konflikty portów
Objawy:
Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use
Rozwiązania:
-
Znajdź proces używający konfliktu:
sudo lsof -i :80
-
Zatrzymaj proces lub użyj innego portu:
docker run -p 8080:80 nginx
Problem: Brak uprawnień
Objawy:
Got permission denied while trying to connect to the Docker daemon socket
Rozwiązania:
-
Użyj sudo przed poleceniem:
sudo docker ps
-
Lub dodaj użytkownika do grupy docker i zaloguj się ponownie:
sudo usermod -aG docker $USER # Wyloguj się i zaloguj ponownie
Problem: Problemy z przestrzenią dyskową
Objawy: Docker przestaje działać lub działa wolno z powodu braku miejsca.
Rozwiązania:
-
Sprawdź wykorzystanie dysku:
df -h
-
Wyczyść nieużywane obrazy i kontenery:
docker system prune -a
-
Wyczyść wolumeny (ostrożnie, spowoduje to utratę danych):
docker volume prune
📚 Podstawowe polecenia Docker
Po zainstalowaniu Dockera, warto zapoznać się z podstawowymi poleceniami:
Zarządzanie obrazami
# Pobieranie obrazu
docker pull ubuntu:20.04
# Wyświetlenie dostępnych obrazów
docker images
# Usunięcie obrazu
docker rmi ubuntu:20.04
# Budowanie obrazu z Dockerfile
docker build -t my-app:1.0 .
Zarządzanie kontenerami
# Uruchamianie kontenera
docker run -d --name my-container nginx
# Wyświetlenie działających kontenerów
docker ps
# Wyświetlenie wszystkich kontenerów (włącznie z zatrzymanymi)
docker ps -a
# Zatrzymanie kontenera
docker stop my-container
# Usunięcie kontenera
docker rm my-container
Praca z Docker Compose
# Uruchamianie usług zdefiniowanych w docker-compose.yml
docker compose up -d
# Wyświetlanie uruchomionych usług
docker compose ps
# Wyświetlanie logów
docker compose logs
# Zatrzymanie usług
docker compose down
Monitorowanie i debugowanie
# Wyświetlanie logów kontenera
docker logs my-container
# Wykonanie polecenia wewnątrz kontenera
docker exec -it my-container bash
# Wyświetlenie statystyk zasobów
docker stats
🏁 Podsumowanie - Docker na Ubuntu 24.04
Zainstalowałeś i skonfigurowałeś Docker na Ubuntu 24.04! Oto co osiągnąłeś:
- ✅ Przygotowałeś system, aktualizując pakiety i instalując niezbędne zależności
- ✅ Dodałeś oficjalne repozytorium Docker do systemu
- ✅ Zainstalowałeś Docker Engine i Docker Compose
- ✅ Skonfigurowałeś uprawnienia użytkownika dla wygodniejszego korzystania z Dockera
- ✅ Przetestowałeś instalację i poznałeś podstawowe polecenia
Docker to potężne narzędzie, które pozwala na standaryzację środowisk deweloperskich i produkcyjnych. Z jego pomocą możesz łatwo wdrażać aplikacje, dbając o ich spójność niezależnie od środowiska.
Następne kroki
Teraz, gdy masz działającą instalację Dockera, możesz:
- Poznać Docker głębiej - zapoznaj się z dokumentacją i tutorialami Dockera
- Zbudować własne obrazy - naucz się pisać Dockerfile dla swoich aplikacji
- Wdrożyć aplikacje wielokontenerowe - korzystaj z Docker Compose do orkiestracji kontenerów
- Dołączyć do społeczności Docker - śledź najnowsze trendy i najlepsze praktyki
🚀 Potrzebujesz zaawansowanego hostingu z obsługą Docker?
Sprawdź nasze rozwiązania VPS z preinstalowanym Docker
Oferujemy wydajne serwery VPS zoptymalizowane pod kątem aplikacji kontenerowych, z pełnym wsparciem dla Dockera i Docker Compose. Skorzystaj z naszej infrastruktury, aby uruchamiać swoje kontenery w stabilnym i bezpiecznym środowisku.
Czy ten artykuł był pomocny?
Twoja strona WordPress działa wolno?
Sprawdź nasz hosting WordPress z ultraszybkimi dyskami NVMe i konfiguracją serwera zoptymalizowaną pod kątem wydajności. Doświadcz różnicy już dziś!
Sprawdź ofertę hostingu