Jak zainstalować i używać Docker na Ubuntu: Kompletny przewodnik dla początkujących na rok 2025

目次

1. Czym jest Docker? Jego relacja z Ubuntu

Docker to technologia wirtualizacji, która pakuje środowiska uruchomieniowe aplikacji w jednostki zwane „kontenerami”, umożliwiając ich spójne uruchamianie na dowolnym serwerze lub komputerze. W przeciwieństwie do tradycyjnych maszyn wirtualnych, Docker uruchamia kontenery bezpośrednio na systemie operacyjnym hosta, co pozwala na stworzenie lżejszego i szybszego środowiska.

Dystrybucje Linuksa, takie jak Ubuntu, mają wysoką kompatybilność z Dockerem i są szeroko używane przez programistów i administratorów systemów zarówno w środowiskach enterprise, jak i osobistych. Dzieje się tak, ponieważ Ubuntu jest open source, popularne do użytku serwerowego, oferuje łatwe zarządzanie pakietami i zapewnia obszerne oficjalne wsparcie.

Korzystając z Dockera, możesz wyeliminować problemy typu „działa na moim komputerze, ale nie w produkcji”. Niezależnie od tego, czy na twoim komputerze deweloperskim, czy na serwerze produkcyjnym, kontenery Dockera pozwalają na szybkie replikowanie dokładnie tego samego środowiska w dowolnym miejscu. Ubuntu jest również oficjalnie wspierane przez Dockera, co ułatwia znalezienie przewodników instalacyjnych i zasobów.

Ten artykuł zawiera przewodnik krok po kroku po instalacji Dockera na Ubuntu i uruchomieniu kontenera Ubuntu. Bez względu na to, czy używasz Dockera po raz pierwszy, czy chcesz powtórzyć podstawy, ten przewodnik jest zaprojektowany, aby pomóc ci w sukcesie.

2. Wymagania systemowe i warunki wstępne

Istnieje kilka warunków wstępnych i przygotowań potrzebnych do używania Dockera na Ubuntu. Dla płynnej instalacji i uruchomienia, oto podsumowanie niezbędnego środowiska i kluczowych punktów do sprawdzenia wcześniej.

O wersjach Ubuntu

Ogólnie zaleca się używanie Dockera na Ubuntu 18.04 LTS lub nowszym. Najsolidniejsze wsparcie jest zapewnione dla wersji z długoterminowym wsparciem (LTS), takich jak „Ubuntu 20.04 LTS”, „Ubuntu 22.04 LTS” i „Ubuntu 24.04 LTS”. Używanie starszych wersji może powodować problemy z wymaganymi pakietami lub zależnościami, dlatego najlepiej używać najnowszego wydania LTS.

Wymagania systemowe

Chociaż sam Docker jest lekką technologią kontenerową, uruchamianie wielu kontenerów lub używanie Dockera do rozwoju i testowania może wymagać dodatkowych zasobów. Zalecane są następujące minimalne specyfikacje:

  • Zainstalowany 64-bitowy Ubuntu (32-bit nie jest obsługiwany)
  • CPU: Zalecane 2 lub więcej rdzeni
  • Pamięć: Co najmniej 2 GB (4 GB lub więcej preferowane dla komfortowego użycia)
  • Dostępna przestrzeń dyskowa: Co najmniej 10 GB wolnego miejsca

Połączenie internetowe

Połączenie internetowe jest wymagane do instalacji Dockera i pobierania obrazów. Początkowa konfiguracja może wymagać pobrania dużej ilości danych, więc upewnij się, że masz stabilne połączenie.

O uprawnieniach użytkownika

Potrzebujesz uprawnień „sudo” (administratora) do instalacji i zarządzania Dockerem. Jeśli masz tylko zwykłe prawa użytkownika, poproś administratora lub tymczasowo uzyskaj niezbędne uprawnienia wcześniej.

Usuwanie starych pakietów Dockera

Jeśli wcześniej zainstalowałeś ręcznie pakiety takie jak „docker” lub „docker.io”, zaleca się ich odinstalowanie najpierw, aby uniknąć konfliktów lub nieoczekiwanych problemów.

sudo apt-get remove docker docker-engine docker.io containerd runc

To pomaga zapobiegać problemom spowodowanym przez mieszane stare i nowe pakiety.

Podsumowanie

Przejrzyj wymagania w tej sekcji i upewnij się, że twoje środowisko jest gotowe przed przejściem do kroków instalacji i konfiguracji w następnych rozdziałach.
Jeśli twoja konfiguracja spełnia te warunki wstępne, instalacja Dockera przebiegnie płynnie.

3. Instalacja i konfiguracja Docker Engine

Ta sekcja wyjaśnia, jak zainstalować Docker Engine na Ubuntu i wykonać podstawową konfigurację. Używanie oficjalnego repozytorium zapewnia, że otrzymasz najnowszą i najbardziej stabilną wersję Dockera.

Dodawanie oficjalnego repozytorium i przygotowanie systemu

Najpierw dodaj oficjalne repozytorium Dockera do apt. Wszystkie operacje są wykonywane w terminalu. Proszę postępuj zgodnie z tymi krokami:

  1. Zainstaluj wymagane pakiety
    sudo apt-get update
    sudo apt-get install 
        ca-certificates 
        curl 
        gnupg 
        lsb-release
    
  1. Dodaj klucz GPG
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  1. Dodaj repozytorium Docker
    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
    

Instalowanie silnika Docker

Po dodaniu repozytorium zainstaluj sam silnik Docker:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Po instalacji zweryfikuj, czy Docker jest zainstalowany, sprawdzając wersję:

docker --version

Jeśli zobaczysz wynik podobny do „Docker version 25.0.3, build 1234567”, instalacja przebiegła pomyślnie.

Informacje o Docker Desktop (Suplement)

Na Ubuntu będziesz głównie używał „Docker Engine”, ale „Docker Desktop for Linux” jest teraz oficjalnie dostępny. Jeśli potrzebujesz interfejsu graficznego, Docker Desktop może być dobrą opcją. Jednak dla większości użytkowników linii poleceń sam Docker Engine jest wystarczający.

W przypadku problemów

Jeśli otrzymasz błędy typu „package not found”, sprawdź ustawienia repozytorium i rejestrację klucza GPG. Jeśli zainstalowane są stare pakiety Docker, mogą wystąpić konflikty, więc dokładnie sprawdź kroki odinstalowania w sekcji 2.

4. Używanie poleceń Docker bez sudo

Bezpośrednio po instalacji Docker można używać tylko z uprawnieniami administratora (sudo). Uruchamianie poleceń z sudo za każdym razem jest niewygodne i może wprowadzać ryzyko, jeśli popełnisz literówkę.
Zalecanym podejściem jest dodanie konta użytkownika do grupy „docker”, co pozwoli na bezpieczne i wygodne używanie Dockera bez sudo.

Jak dodać użytkownika do grupy Docker

  1. Dodaj użytkownika do grupy docker Uruchom następujące polecenie, aby dodać bieżącego użytkownika do grupy docker: ( $USER zostanie automatycznie zastąpione nazwą bieżącego użytkownika.)
    sudo usermod -aG docker $USER
    
  1. Zastosuj zmiany Musisz się wylogować i zalogować ponownie, aby dodanie do grupy zadziałało.
    Najprostszy sposób to jednorazowe wylogowanie i ponowne zalogowanie.

Jeśli chcesz, aby zmiany zadziałały natychmiast, możesz również użyć:

newgrp docker
  1. Zweryfikuj Sprawdź, czy możesz uruchamiać polecenia Docker bez sudo.
    Na przykład, uruchom następujące polecenie i potwierdź, że wyświetla się wersja:
    docker version
    

Uwaga dotycząca bezpieczeństwa

Chociaż dodanie użytkownika do grupy docker eliminuje potrzebę używania sudo, nadaje również znaczące uprawnienia. Na systemach wieloużytkownikowych bądź ostrożny z członkostwem w grupie docker.
Do użytku osobistego lub środowisk deweloperskich zazwyczaj nie stanowi to problemu, ale zawsze przestrzegaj zasad organizacji na serwerach produkcyjnych.

Wykonanie tych kroków znacznie ułatwi pracę z Dockerem.

5. Uruchamianie i zarządzanie demonem Docker

Docker działa jako proces w tle zwany „demonem” (dockerd).
Po instalacji demon Docker jest ustawiony na automatyczne uruchamianie, ale możesz chcieć ręcznie go uruchomić lub zatrzymać, lub zmienić zachowanie podczas restartu. Oto, jak zarządzać demonem Docker na Ubuntu.

Uruchamianie, zatrzymywanie i restartowanie demona Docker

Możesz łatwo uruchomić lub zatrzymać Dockera za pomocą polecenia systemctl.

  • Uruchom
    sudo systemctl start docker
    
  • Zatrzymaj
    sudo systemctl stop docker
    
  • Restartuj
    sudo systemctl restart docker
    
  • Sprawdź status
    sudo systemctl status docker
    

To polecenie wyświetla bieżący status i wszelkie komunikaty o błędach.

Włączanie/Wyłączanie auto-uruchamiania (przy starcie)

Na Ubuntu możesz ustawić Dockera na automatyczne uruchamianie po restarcie serwera.
Zazwyczaj jest to włączone domyślnie po instalacji, ale oto, jak sprawdzić i zmienić to ustawienie:

  • Włącz auto-uruchamianie
    sudo systemctl enable docker
    
  • Wyłącz auto-uruchamianie
    sudo systemctl disable docker
    

Użyj tego, jeśli chcesz uruchamiać Dockera ręcznie, na przykład w środowisku deweloperskim lub testowym.

Uwaga: Możesz również użyć polecenia service

W starszych wersjach Ubuntu lub jeśli wolisz, możesz użyć poleceń takich jak service docker start. Jednak systemctl jest teraz zalecane.

Wskazówki dotyczące rozwiązywania problemów

  • Jeśli demon Dockera nie uruchomi się, sprawdź błędy za pomocą sudo systemctl status docker.
  • Błędy mogą być również spowodowane brakującymi zależnościami lub niepoprawnymi ustawieniami jądra.
  • Sprawdź logi za pomocą journalctl -u docker.

Z tym pokryłeś podstawy uruchamiania i zarządzania demonem Dockera na Ubuntu.

6. Jak uruchomić kontener Ubuntu

Teraz przejdźmy przez proces uruchamiania „kontenera Ubuntu” na Ubuntu.
Po zainstalowaniu Dockera żaden kontener jeszcze nie działa. Standardowy przepływ pracy polega na uzyskaniu „obrazu kontenera” pożądanego systemu operacyjnego lub aplikacji, a następnie uruchomieniu go. Tutaj użyjemy oficjalnego obrazu Ubuntu jako prostego przykładu.

1. Pobierz obraz Ubuntu (pull)

Najpierw pobierz obraz Ubuntu z Docker Hub (oficjalnego repozytorium obrazów).
Możesz określić wersję, taką jak „22.04”, lub użyć najnowszej (jeśli nie określono).

docker pull ubuntu:22.04

lub

docker pull ubuntu

Oba są poprawne, ale zaleca się jawne określenie wersji.

2. Uruchom nowy kontener Ubuntu (run)

Użyj pobranego obrazu do uruchomienia kontenera Ubuntu.
Najbardziej podstawowe polecenie to:

docker run -it --name myubuntu ubuntu:22.04 /bin/bash
  • -it : Tryb interaktywny (dla dostępu do powłoki)
  • --name myubuntu : Przypisz nazwę kontenerowi (opcjonalne)
  • ubuntu:22.04 : Obraz do użycia
  • /bin/bash : Polecenie do wykonania przy uruchamianiu (powłoka bash)

To polecenie pozwala wejść do środowiska Ubuntu w kontenerze za pomocą bash.

3. Uruchom w tle

Do użytku serwerowego lub jeśli chcesz, aby kontener działał, użyj opcji tła (-d):

docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null

W tym przykładzie kontener pozostanie uruchomiony, nie robiąc nic.

4. Zatrzymywanie i ponowne uruchamianie kontenerów

  • Aby zatrzymać kontener
    docker stop myubuntu
    
  • Aby go ponownie uruchomić
    docker start myubuntu
    

5. Sprawdzanie statusu

  • Wyświetl uruchomione kontenery
    docker ps
    
  • Pokaż wszystkie kontenery, w tym zatrzymane
    docker ps -a
    

Podsumowanie

Ten rozdział wyjaśnił przepływ od „pobrania obrazu Ubuntu” do „uruchomienia kontenera” i podstawowego zarządzania. Wypróbuj to sam, aby doświadczyć wygody Dockera.

7. Podstawowe polecenia Dockera do zarządzania kontenerami

Kluczową zaletą Dockera jest jego elastyczna obsługa: możesz łatwo tworzyć, zatrzymywać i usuwać kontenery.
Ten rozdział podsumowuje podstawowe polecenia, których będziesz często używać do zarządzania i obsługi kontenerów Ubuntu.
Ćwicz te polecenia regularnie, aby poczuć się komfortowo.

Wyświetlanie kontenerów

  • Wyświetl uruchomione kontenery
    docker ps
    
  • Wyświetl wszystkie kontenery, w tym zatrzymane
    docker ps -a
    

Uruchamianie, zatrzymywanie i ponowne uruchamianie kontenerów

  • Uruchom kontener
    docker start [container name or ID]
    
  • Zatrzymaj kontener
    docker stop [container name or ID]
    
  • Uruchom ponownie kontener
    docker restart [container name or ID]
    

Łączenie się z kontenerami i ich obsługa

  • Wykonaj polecenie w uruchomionym kontenerze (exec)
    docker exec -it [container name or ID] /bin/bash
    

Usuwanie kontenerów

  • Usuń kontener
    docker rm [container name or ID]
    
  • Wymuś usunięcie (nawet jeśli uruchomiony)
    docker rm -f [container name or ID]
    

Usuwanie obrazów

  • Sprawdź nieużywane obrazy
    docker images
    
  • Usuń obraz
    docker rmi [image name or ID]
    

Inne przydatne polecenia

  • Sprawdź logi
    docker logs [container name or ID]
    
  • Sprawdź użycie dysku
    docker system df
    

Kluczowe punkty

  • Znajomość podstawowych poleceń takich jak docker ps, docker start, docker stop i docker exec usprawni codzienne operacje i rozwiązywanie problemów.
  • Regularnie usuwaj nieużywane kontenery i obrazy, aby efektywnie zarządzać przestrzenią dyskową.

8. Rozwiązywanie problemów i często zadawane pytania

Gdy uruchamiasz kontenery Docker lub Ubuntu, możesz napotkać nieoczekiwane problemy lub błędy. Ten rozdział omawia powszechne problemy związane z „uruchamianiem kontenerów Docker Ubuntu” i jak je rozwiązać.

Powszechne problemy i rozwiązania

1. Błąd „Cannot connect to the Docker daemon”

Ten błąd często występuje, jeśli demon Docker (dockerd) nie działa lub występują problemy z uprawnieniami.

  • Rozwiązanie:
  1. Sprawdź, czy demon Docker działa: sudo systemctl status docker
  2. Jeśli nie działa, uruchom go za pomocą: sudo systemctl start docker
  3. Jeśli potrzebujesz sudo, dodaj je lub dodaj użytkownika do grupy docker, jak opisano w sekcji 4.

2. Konflikty ze starymi pakietami Docker

Jeśli wcześniej zainstalowałeś pakiety takie jak „docker”, „docker.io” lub „docker-engine”, mogą wystąpić konflikty i spowodować problemy.

  • Rozwiązanie: Odinstaluj stare pakiety.
    sudo apt-get remove docker docker-engine docker.io containerd runc
    

3. Niepowodzenie uruchomienia kontenera

Może to być spowodowane literówkami w nazwie obrazu lub poleceniu, lub brakiem zasobów (pamięć/dysk).

  • Rozwiązanie:
  • Sprawdź literówki w nazwie obrazu lub poleceniu.
  • Użyj docker images, aby sprawdzić, czy obraz istnieje.
  • Sprawdź dostępną przestrzeń dyskową i pamięć serwera.

4. Błędy konfliktu portów

Błędy wystąpią, jeśli spróbujesz uruchomić kontener na porcie już używanym.

  • Rozwiązanie:
  • Określ inny numer portu.
  • Zatrzymaj istniejący proces.

5. Uwagi dotyczące trybu bezrootowego

Ostatnie wersje Dockera obsługują tryb „rootless”, który pozwala uruchamiać Docker bez uprawnień root, ale istnieją ograniczenia. Skonsultuj oficjalną dokumentację i komunikaty błędów w celu uzyskania szczegółów.

Praktyczna lista kontrolna

  • Użyj docker ps -a, aby sprawdzić status kontenera
  • Użyj docker logs [container name], aby sprawdzić szczegóły błędów
  • Użyj journalctl -u docker, aby przejrzeć logi Dockera na poziomie systemu

Kluczowe punkty

Większość problemów z Dockerem dotyczy „uprawnień”, „konfliktów wersji” lub „błędów konfiguracji”.
Jeśli napotkasz problemy, dokładnie przeczytaj komunikaty błędów i rozważ ponowną instalację lub przegląd konfiguracji, jeśli to konieczne.

9. Podsumowanie i kolejne kroki

Ten artykuł zawiera kompleksowy przewodnik po „instalowaniu Dockera na Ubuntu i uruchamianiu kontenerów Ubuntu”.
Przejrzyjmy kluczowe punkty i zasugerujmy kilka wskazówek dotyczących dalszej nauki i użytkowania.

Podsumowanie tego artykułu

  • Przegląd i korzyści Dockera Wysoka kompatybilność z Ubuntu i możliwość szybkiego odtwarzania środowisk w dowolnym miejscu.
  • Przygotowanie i kluczowe punkty przed konfiguracją Wersja Ubuntu, wymagania sprzętowe, uprawnienia i czyszczenie starych pakietów.
  • Jak zainstalować silnik Docker Zainstaluj najnowszego i najbezpieczniejszego Dockera za pomocą oficjalnego repozytorium.
  • Działanie bez sudo i zarządzanie demonem Dodanie użytkownika do grupy docker i używanie systemctl do automatycznego uruchamiania/zatrzymywania.
  • Jak uruchomić kontenery Ubuntu i używać kluczowych poleceń Podstawowe operacje tworzenia, zarządzania i uruchamiania kontenerów.
  • Powszechne problemy i rozwiązania Radzenie sobie z uprawnieniami, konfliktami wersji i innymi częstymi problemami.

Kolejne kroki i zaawansowane użycie

Pierwszym krokiem w opanowaniu Dockera jest przyzwyczajenie się do uruchamiania kontenerów i używania podstawowych poleceń. Gdy poczujesz się komfortowo, spróbuj bardziej zaawansowanych operacji:

  • Budowanie niestandardowych kontenerów za pomocą Dockerfile Przejdź poza samo używanie obrazów i twórz spersonalizowane obrazy pod swoje potrzeby.
  • Zarządzanie wieloma kontenerami za pomocą Docker Compose Łatwo uruchamiaj i zarządzaj wieloma usługami (np. web + DB) razem.
  • Wykorzystywanie wolumenów i funkcji sieciowych Trwałe przechowywanie danych i zarządzanie komunikacją między wieloma kontenerami.
  • Używanie narzędzi orkiestracji takich jak Kubernetes Podnieś swoje operacje chmurowe na wyższy poziom dzięki zarządzaniu na dużą skalę i auto-skalowaniu.

Końcowe przemyślenia

Docker nie jest przeznaczony wyłącznie do środowisk deweloperskich – przydaje się także w zarządzaniu serwerami, wdrażaniu usług, eksperymentowaniu i nauce.
Wypróbuj go iaj się o jego mocy oraz wygodzie.
Jeśli masz pytania, zajrzyj do oficjalnej dokumentacji lub forów społecznościowych i dalej eksploruj temat.

10. FAQ

W tej sekcji znajdują się najczęściej zadawane pytania czytelników dotyczące „uruchamiania kontenerów Ubuntu Docker” oraz treści tego artykułu.
Skupiamy się na typowych problemach początkujących oraz praktycznych zagadnieniach w rzeczywistym użyciu.

Q1. Czy mogę używać Dockera zarówno na Ubuntu Desktop, jak i Ubuntu Server?

A.
Tak, Docker działa na obu systemach. Polecenia i kroki są w dużej mierze takie same, ale Ubuntu Server jest zazwyczaj zalecany do produkcji, ponieważ nie posiada interfejsu graficznego, co skutkuje mniejszym zużyciem zasobów.

Q2. Czy potrzebuję Docker Desktop na Ubuntu?

A.
Nie, sam „Docker Engine” wystarczy na Ubuntu. Docker Desktop to narzędzie graficzne do zarządzania, ale w systemie Linux (Ubuntu) zazwyczaj preferuje się wiersz poleceń, który jest mniej podatny na problemy. Jeśli wolisz interfejs graficzny do nauki lub zarządzania, możesz spróbować Docker Desktop.

Q3. Co to jest tryb rootless?

A.
Tryb rootless pozwala uruchamiać Dockera bez uprawnień roota (administratora). Jest przydatny do zwiększenia bezpieczeństwa lub w środowiskach wieloużytkownikowych. Niektóre funkcje mogą być jednak ograniczone, więc wybór zależy od Twoich potrzeb i polityk.

Q4. Jak zapewnić trwałe przechowywanie danych dla kontenerów?

A.
Możesz używać „wolumenów” lub „bind mountów”, aby dane nie zostały utracone po usunięciu kontenera.

Przykład:

docker run -v /host/path:/container/path ubuntu:22.04

To polecenie łączy katalog na hoście z katalogiem wewnątrz kontenera.

Q5. Jak ustawić automatyczne uruchamianie kontenerów lub demona Dockera?

A.
Aby ustawić demona Dockera na automatyczne uruchamianie, użyj sudo systemctl enable jak opisano w sekcji 5. Aby automatycznie uruchamiać konkretny kontener przy starcie systemu, dodaj opcję–restart=unless-stopped` podczas tworzenia kontenera.

Przykład:

docker run --restart=unless-stopped -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Q6. Czy mogę uruchamiać obrazy Dockera dla innych systemów operacyjnych na Ubuntu?

A.
Tak, pod warunkiem że obraz jest przeznaczony dla tej samej architektury CPU (Linux). Obrazy specyficzne dla Windows lub innych architektur nie będą działać na Ubuntu.

Q7. Jak mogę usunąć nieużywane obrazy lub kontenery?

A.
Usuwaj nieużywane kontenery lub obrazy poleceniami docker rm lub docker rmi. Aby wykonać bardziej gruntowne czyszczenie, użyj następujących komend:

  • Usuwanie wszystkich zatrzymanych kontenerów
    docker container prune
    
  • Usuwanie nieużywanych obrazów
    docker image prune
    
  • Jednoczesne czyszczenie nieużywanych danych
    docker system prune
    

Q8. Gdzie mogę znaleźć wsparcie lub informacje, gdy napotkam problemy?

A.
Odwołaj się do oficjalnej dokumentacji Dockera (https://docs.docker.com/) lub sprawdź społeczności deweloperów, takie jak Stack Overflow i Qiita. Często skuteczne jest bezpośrednie wyszukiwanie komunikatu o błędzie.

Q9. Jak mogę nauczyć się używać Docker Compose lub innych narzędzi wielokontowych?

A.
Docker Compose to przydatne narzędzie do zarządzania wieloma kontenerami. Aby się go nauczyć, zapoznaj się z oficjalną dokumentacją, samouczkami i przykładowymi plikami docker-compose.yml, a następnie wypróbuj je w praktyce.

Q10. Czy Docker jest wspierany na najnowszej wersji Ubuntu (np. 24.04)?

A.
Tak, Docker oficjalnie wspiera najnowsze wersje LTS. Korzystając z najnowszych repozytoriów i pakietów, zawsze możesz cieszyć się stabilną pracą.