Blog / Baza Wiedzy

Jak zainstalować Docker na AlmaLinux, CentOS, Rocky Linux i Fedora: Kompletny przewodnik serwera

3 min czytania
VoxiHost Team
Jak zainstalować Docker na AlmaLinux, CentOS, Rocky Linux i Fedora: Kompletny przewodnik serwera

Docker zrewolucjonizował wdrożenia serwerowe umożliwiając izolowanie aplikacji w lekkie, przenośne, samowystarczalne jednostki zwane kontenerami. Niezależnie od tego jaki jest twój podstawowy system operacyjny, kontener Docker uruchamia się dokładnie tak samo.

Jednakże, wiele domyślnych repozytoriów (jak te wbudowane w RHEL, AlmaLinux, CentOS i Rocky Linux) często wskazuje na Podman zamiast Dockera, lub hostują poważnie nieaktualne wersje Docker Engine. Aby zagwarantować dostęp do najnowszych funkcji bezpieczeństwa i zintegrowanej docker-compose-plugin, musisz pobrać go bezpośrednio z oficjalnego źródła Docker.

Krok 1: Usuń stare wersje

Przed zainstalowaniem oficjalnego silnika, musisz zweryfikować że żadne starsze, konfliktujące pakiety nie pozostają w systemie (nawet jeśli nigdy ich nie instalowałeś sam). Te pakiety zwykle krążą wokół nazw docker lub docker-engine.

Uruchom to polecenie aby wyczyścić planszę gładko:

Uruchamianie sudo dnf remove docker aby wyczyścić stare konfliktujące pakiety Docker na AlmaLinux lub Rocky Linux przed świeżą instalacją

sudo dnf remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Jest w porządku jeśli dnf zgłasza że żaden z tych pakietów nie jest zainstalowany.

Krok 2: Skonfiguruj repozytorium Docker

Musisz powiedzieć swojemu menedżerowi pakietów (dnf) dokładnie gdzie znaleźć oficjalne wydania Docker. Docker dostarcza wygodne narzędzie konfiguracyjne natywnie wspierane przez systemy RHEL poprzez pakiet yum-utils.

Zainstaluj narzędzia:

Uruchamianie sudo dnf install -y yum-utils na AlmaLinux aby zainstalować narzędzie yum-config-manager potrzebne do dodania repozytorium Docker CE

sudo dnf install -y yum-utils

Teraz użyj yum-config-manager aby bezpiecznie dodać oficjalne repozytorium Docker do źródeł systemowych:

Uruchamianie sudo yum-config-manager --add-repo aby dodać oficjalne repozytorium Docker CE do AlmaLinux lub Rocky Linux

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

(Nawet jeśli jesteś na AlmaLinux, Rocky Linux lub Fedorze, przekazanie ścieżki /centos/ jest poprawne, ponieważ dzielą one absolutnie dokładnie tę samą architekturę binarną dla Enterprise Linux).

Krok 3: Zainstaluj Docker Engine

Z repozytorium bezpiecznie dodanym, twój system wie gdzie szukać. Możesz teraz zainstalować cały pakiet Docker.

To polecenie instaluje podstawowy silnik (docker-ce), interfejs wiersza poleceń (docker-ce-cli), runtime kontenera (containerd.io) i nowoczesne wtyczki jak Docker Compose V2 (docker-compose-plugin).

Uruchamianie sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin na AlmaLinux aby zainstalować Docker Engine i Compose

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Krok 4: Uruchom i włącz Docker

W przeciwieństwie do Ubuntu, które automatycznie uruchamia usługi natychmiast po pobraniu ich, dystrybucje rodziny RHEL wolą abyś je celowo uruchamiał.

Musisz uruchomić demona Docker i włączyć go tak aby bezpiecznie budził się za każdym razem gdy serwer restartuje. Możesz zrobić oba w jednym poleceniu systemctl:

Uruchamianie sudo systemctl enable --now docker na AlmaLinux aby uruchomić usługę Docker i włączyć ją do automatycznego uruchamiania przy starcie

sudo systemctl enable --now docker

Aby potwierdzić że usługa żyje, sprawdź status:

Uruchamianie sudo systemctl status docker na AlmaLinux aby potwierdzić że demon Docker jest aktywny i działa poprawnie

sudo systemctl status docker

Szukaj jasnozielonego tekstu "active (running)".

Krok 5: Zweryfikuj instalację

Aby bezsprzecznie udowodnić że Docker może pomyślnie pobierać obrazy z internetu i uruchamiać je w działające kontenery, użyj standardowego ładunku testowego:

Uruchamianie sudo docker run hello-world na AlmaLinux lub Rocky Linux aby zweryfikować że Docker Engine jest zainstalowany i działa poprawnie

sudo docker run hello-world

Jeśli twoja konfiguracja jest poprawna, kontener zostanie pobrany, uruchomi swój kod i wyświetli duży blok potwierdzenia zaczynający się od:

"Hello from Docker! This message shows that your installation appears to be working correctly."

[!NOTE]
Docker i twoja zapora: Docker zarządza swoimi własnymi regułami sieciowymi bezpośrednio przez iptables. Podczas gdy systemy RedHat używają firewalld, który jest generalnie bardziej zintegrowany z Docker niż UFW, wciąż najlepszą praktyką jest ostrożność przy eksponowaniu portów poprzez flagę -p lub --publish. Zawsze weryfikuj otwarte porty za pomocą sudo firewall-cmd --list-all.

Krok 6 (Opcjonalny): Uruchom Docker bez sudo

Prawdopodobnie zauważyłeś że musiałeś wpisać sudo aby uruchomić skrypt testowy. Domyślnie demon Docker wiąże się z gniazdem Unix zamiast portem TCP, a to gniazdo jest własnością użytkownika root.

Jeśli stworzyłeś swoje własne konto użytkownika (jak opisano w naszym Przewodniku Zarządzania Użytkownikami), wpisywanie sudo setki razy dziennie może być męczące. Możesz nadać swojemu użytkownikowi natywne prawa Docker dodając ich do grupy docker.

sudo usermod -aG docker $USER

Ostrzeżenie: Grupa docker nadaje uprawnienia które są funkcjonalnie równoważne dostępowi root. Dodawaj tylko bardzo zaufanych użytkowników do tej grupy.

Aby zmusić system do uznania twojego nowego statusu grupy bez potrzeby całkowitego wylogowania:

su - $USER

Teraz ponownie uruchom test bez prefiksu sudo:

docker run hello-world

Jeśli to działa, gratulacje! Twój VPS jest w pełni wyposażony do wdrażania nieskończonej liczby wstępnie spakowanych aplikacji kontenerowych dostępnych na Docker Hub natywnie i bezpiecznie.

Dla niezawodnego środowiska wspierającego szybkie prototypowanie projektów z Docker, sprawdź naszą wysokowydajną linię przystępnych środowisk Budget VPS już dziś.

Języki