🐳 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:

  1. Przygotowanie systemu: Zaktualizuj system i zainstaluj wymagane pakiety.
  2. Dodanie repozytorium Docker: Skonfiguruj oficjalne repozytorium Docker dla Ubuntu 24.04.
  3. Instalacja komponentów: Zainstaluj Docker Engine, Docker CLI i Containerd.
  4. Konfiguracja uprawnień: Dodaj swojego użytkownika do grupy docker, aby uniknąć konieczności używania sudo.
  5. Weryfikacja i testowanie: Sprawdź poprawność instalacji uruchamiając testowy kontener.

🗺️ Spis Treści - Twoja Mapa Drogowa


🔍 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:

  1. Przenośność - kontenery działają tak samo w każdym środowisku
  2. Szybkość - kontenery uruchamiają się w sekundy, w przeciwieństwie do maszyn wirtualnych
  3. Izolacja - aplikacje działają w izolowanych środowiskach
  4. Skalowalność - łatwe skalowanie i replikacja kontenerów
  5. 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) na jammy w powyższym poleceniu.

Aktualizacja list pakietów

Po dodaniu repozytorium, zaktualizuj listy pakietów:

sudo apt update
Pro Tip: Jeśli pojawi się ostrzeżenie o brakującym kluczu publicznym, możesz dodać go używając polecenia 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 format docker-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
Pro Tip: Dla większości nowych projektów zalecamy używanie Docker Compose V2 (komenda 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ć:

  1. Zatrzymaj usługę Docker:

    sudo systemctl stop docker
  2. Utwórz plik konfiguracyjny Dockera:

    sudo mkdir -p /etc/docker
    sudo nano /etc/docker/daemon.json
  3. Dodaj następującą zawartość (zmień ścieżkę według potrzeb):

    {
      "data-root": "/path/to/new/docker/data/directory"
    }
  4. Zapisz plik i zamknij edytor.

  5. Przenieś istniejące dane Docker (opcjonalnie):

    sudo rsync -aP /var/lib/docker/ /path/to/new/docker/data/directory/
  6. 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ł:

  1. Utwórz lub edytuj plik daemon.json:

    sudo nano /etc/docker/daemon.json
  2. 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"
      }
    }
  3. 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:

  1. Edytuj plik daemon.json:

    sudo nano /etc/docker/daemon.json
  2. Dodaj konfigurację limitów:

    {
      "default-shm-size": "64M",
      "default-ulimits": {
        "nofile": {
          "Name": "nofile",
          "Hard": 64000,
          "Soft": 64000
        }
      }
    }
  3. 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:

  1. 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.

  2. Używaj sieci użytkownika:

    docker network create --driver bridge isolated_network
    docker run --network=isolated_network nginx
  3. 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
Pro Tip: Rozważ użycie narzędzi do skanowania bezpieczeństwa kontenerów, takich jak Docker Bench for Security, Clair, lub Trivy, aby regularnie sprawdzać swoje kontenery pod kątem znanych luk.

⚠️ 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:

  1. Sprawdź, czy usługa Docker działa:

    sudo systemctl status docker
  2. Jeśli nie działa, uruchom ją:

    sudo systemctl start docker
  3. 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:

  1. Znajdź proces używający konfliktu:

    sudo lsof -i :80
  2. 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:

  1. Użyj sudo przed poleceniem:

    sudo docker ps
  2. 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:

  1. Sprawdź wykorzystanie dysku:

    df -h
  2. Wyczyść nieużywane obrazy i kontenery:

    docker system prune -a
  3. 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ś:

  1. ✅ Przygotowałeś system, aktualizując pakiety i instalując niezbędne zależności
  2. ✅ Dodałeś oficjalne repozytorium Docker do systemu
  3. ✅ Zainstalowałeś Docker Engine i Docker Compose
  4. ✅ Skonfigurowałeś uprawnienia użytkownika dla wygodniejszego korzystania z Dockera
  5. ✅ 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:

  1. Poznać Docker głębiej - zapoznaj się z dokumentacją i tutorialami Dockera
  2. Zbudować własne obrazy - naucz się pisać Dockerfile dla swoich aplikacji
  3. Wdrożyć aplikacje wielokontenerowe - korzystaj z Docker Compose do orkiestracji kontenerów
  4. 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?

Wróć do listy wpisów

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
30-dniowa gwarancja zwrotu pieniędzy