Jak zainstalować i używać Dockera na Ubuntu 24.04
Ten przewodnik przeprowadzi cię przez:
Instalację Docker na Ubuntu 24.04
Podstawowe polecenia, aby rozpocząć pracę z kontenerami Dockera.
Co będziemy omawiać
Wymagania wstępne
Upewnij się, że twój system spełnia następujące wymagania:
System Ubuntu 24.04.2 64-bitowy
4 GB pamięci RAM (zalecane dla lepszej wydajności)
20 GB wolnego miejsca na dysku (minimum dla Dockera i obrazów kontenerów)
Wersja kernel 3.10 lub nowsza (domyślna dla Ubuntu 24.04.2)
Połączenie z Internetem do pobierania pakietów
Prawa sudo lub dostęp root
Jeśli te wymagania wstępne są spełnione, będziesz mógł zainstalować Dockera na:
Maszynie wirtualnej uruchomionej na lokalnym komputerze
Maszynie wirtualnej uruchomionej w chmurze NSIS Cloud
Wymagania wstępne dla wersji chmurowej Dockera
Nr 1 Konto
Aby uruchomić Dockera na maszynie wirtualnej w chmurze, potrzebujesz własnego konta chmurowego. Zobacz artykuł: Rejestracja i zakładanie konta.
Nr 2 Maszyna wirtualna z Ubuntu 24.04
Utwórz maszynę wirtualną, postępując zgodnie z tym lub podobnym artykułem: Jak stworzyć wirtualną maszynę z Linuxem na chmurze NSIS Cloud i uzyskać do niej dostęp przy użyciu linuxowego wiersza poleceń
W opcji Source wybierz Ubuntu 24.04, a następnie „Ubuntu 24.04 LTS”:
Wybierz Ubuntu 24.04 LTS
Wybierz flavor, taki jak eo2a.large lub większy.
Nr 3 Czy lsb_release jest uruchomiony?
Polecenie lsb_release -cs zwraca nazwę kodową dla twojej wersji Ubuntu. Dla Ubuntu 24.04 jest to noble.
lsb_release -cs
No LSB modules are available.
noble
Jeśli polecenie nie jest dostępne, zainstaluj je za pomocą:
sudo apt install lsb-release
W momencie pisania tego tekstu Docker nie obsługuje jeszcze nazwy kodowej noble. Zamiast tego musisz tymczasowo używać jammy (nazwa kodowa Ubuntu 22.04) podczas dodawania repozytorium.
Użyj następującego skryptu, aby wykryć nazwę kodową i zastąpić ją jammy, jeśli potrzeba:
# Pobierz nazwę kodową Ubuntu
CODENAME=$(lsb_release -cs)
# Rozwiązanie: Docker nie obsługuje jeszcze 'noble'
if [ "$CODENAME" = "noble" ]; then
CODENAME=jammy
fi
# Wyświetl ją
echo $CODENAME
Kiedy Docker zacznie obsługiwać nazwę kodową noble bezpośrednio, będzie potrzebne tylko pierwsze polecenie z powyższych.
Zmienna środowiskowa CODENAME zawiera teraz prawidłową wartość i będziemy ją używać w poleceniu instalującym Dockera (patrz poniżej).
Przed instalacją Dockera
Zaktualizuj system
Upewnij się, że twój system jest aktualny:
sudo apt update
sudo apt upgrade -y
Zainstaluj wymagane zależności
Zainstaluj wymagane pakiety przed dodaniem repozytorium Dockera:
sudo apt install apt-transport-https ca-certificates curl software-properties-common lsb-release -y
apt-transport-https: Dostęp do repozytoriów przez HTTPS.
ca-certificates: Walidacja certyfikatów SSL.
curl: Pobieranie klucza GPG Dockera.
software-properties-common: Zarządzanie zewnętrznymi repozytoriami.
lsb-release: Wykrywanie nazwy kodowej systemu operacyjnego.
Dodaj klucz GPG Dockera
Dodaj klucz GPG Dockera, aby zapewnić integralność pobranych pakietów:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/trusted.gpg.d/docker.asc
Dodaj oficjalne repozytorium Dockera
Pakiety Dockera są rozłożone w repozytoriach opartych na nazwie kodowej. Wykryliśmy dokładne znaczenie $CODENAME, więc teraz po prostu go używamy. Następujące polecenie tworzy nowy plik repozytorium z źródłem pakietów Dockera:
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $CODENAME stable" | sudo tee /etc/apt/sources.list.d/docker.list
To polecenie zapisze wymagane informacje w pliku docker.list, a następujące polecenia przeczytają je stamtąd.
Zainstaluj silnik Dockera
Teraz zainstaluj Dockera:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
docker-ce: Edycja społeczności Dockera
docker-ce-cli: Interfejs linii poleceń
containerd.io: Środowisko wykonawcze kontenerów
Potwierdź, że Docker jest zainstalowany i uruchomiony
Włącz i uruchom Docker:
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker
Naciśnij Ctrl-C, aby powrócić do konsoli.
Potwierdź instalację Dockera
Uruchom kontener testowy:
sudo docker run hello-world
To potwierdza, że Docker jest poprawnie zainstalowany. Jeśli wystąpią błędy, przeczytaj wiadomość uważnie — często zawiera ona rozwiązanie.
Podstawowe polecenia Dockera
Pobieranie obrazów Dockera
Istnieje setki tysięcy obrazów Dockera do pobrania. W tym przykładzie wybieramy pobranie najnowszego obrazu systemu operacyjnego Ubuntu. Polecenie to:
sudo docker pull ubuntu
Widok pobranych obrazów
sudo docker images
To wyświetla dostępne lokalne obrazy:
Uruchamianie kontenerów Docker
Możesz uruchomić kontener w trybie interaktywnym. Rzeczywiste polecenia będą zależeć od pobranego kontenera; tutaj, dla obrazu Ubuntu, dostarczamy polecenie, aby rozpocząć pracę wewnątrz tego kontenera Ubuntu.
sudo docker run -it ubuntu
Teraz masz powłokę wewnątrz kontenera. Prompt dla Ubuntu działającego wewnątrz kontenera Docker w naszym przykładzie to root@ab3f2a78046b:/# i najprawdopodobniej będzie się różnił na twoim systemie.
Użyj poleceń takich jak ls, aby zbadać katalog główny. Zawiera on foldery takie jak bin, dev, home i inne katalogi typowe dla standardowej instalacji Ubuntu.
Zarządzanie kontenerami Docker
Utwórz kontener (ale go nie uruchamiaj):
sudo docker create ubuntuUruchom istniejący kontener:
sudo docker start <container_id>Wejdź do uruchomionego kontenera:
sudo docker exec -it <container_id> /bin/bashZatrzymaj uruchomiony kontener:
sudo docker stop <container_id>Usuń zatrzymany kontener:
sudo docker rm <container_id>
Wyświetlanie kontenerów Docker
Wyświetl uruchomione kontenery:
sudo docker psWyświetl wszystkie kontenery (w tym zatrzymane):
sudo docker ps -a
Inne przydatne polecenia Docker
Usuń obraz Docker:
sudo docker rmi <image_id>Wyświetl woluminy Docker:
sudo docker volume lsWyświetl dziennik kontenera:
sudo docker logs <container_id>
Rozwiązywanie problemów
Jeśli polecenia Docker kończą się niepowodzeniem z permission denied:
Użyj sudo, lub
Dodaj użytkownika do grupy docker:
sudo usermod -aG docker $USERNastępnie wyloguj się i zaloguj ponownie.
Jeśli docker run hello-world kończy się niepowodzeniem:
Sprawdź, czy Docker działa:
sudo systemctl status dockerWyświetl dziennik:
sudo journalctl -u docker
Co można zrobić dalej
Oto kilka artykułów, które opierają się na tej instrukcji: