Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Sekcja
Administracja Linux

Jak zainstalować Docker na CentOS: Kompletny przewodnik krok po kroku

Docker fundamentalnie zmienił sposób, w jaki deweloperzy budują, wysyłają i uruchamiają aplikacje. Pakując oprogramowanie w lekkie, przenośne kontenery, Docker eliminuje klasyczny problem „działa na moim komputerze” i dramatycznie upraszcza zarówno przepływy pracy w rozwoju, jak i wdrażanie w produkcji. Jeśli uruchamiasz CentOS i chcesz wykorzystać moc konteneryzacji, ten kompleksowy przewodnik przeprowadzi Cię przez każdy krok — od świeżej aktualizacji systemu do zaawansowanej konfiguracji.

Niezależnie od tego, czy wdrażasz pojedynczą aplikację internetową, czy orkiestrujesz złożone środowiska wielokontenerowe, prawidłowa instalacja Docker na CentOS jest krytycznym pierwszym krokiem.

Wymagania wstępne

Zanim zaczniesz, upewnij się, że masz:

  • Serwer CentOS 7 lub CentOS 8 (fizyczny lub wirtualny)
  • Konto użytkownika z uprawnieniami sudo
  • Stabilne połączenie internetowe
  • Podstawową znajomość wiersza poleceń Linux

> Pro Tip: Aby uzyskać najlepsze doświadczenie z Docker, rozważ uruchomienie go na planie VPS Hosting. Prywatny serwer wirtualny daje Ci pełny dostęp root, dedykowane zasoby i elastyczność do uruchamiania kontenerów bez ograniczeń środowisk współdzielonych.

Krok 1: Aktualizacja systemu

Przed zainstalowaniem nowego oprogramowania zawsze zaktualizuj istniejące pakiety, aby zapewnić kompatybilność i bezpieczeństwo. Uruchom następujące polecenie:

sudo yum update -y

To polecenie odświeża wszystkie zainstalowane pakiety do ich najnowszych wersji. Może to potrwać kilka minut w zależności od liczby oczekujących aktualizacji. W pełni zaktualizowany system zmniejsza ryzyko konfliktów zależności podczas instalacji Docker.

Krok 2: Zainstaluj wymagane zależności

Docker opiera się na kilku pakietach na poziomie systemu, aby działać prawidłowo. Zainstaluj je za pomocą jednego polecenia:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Oto co robi każdy pakiet:

PakietCel
yum-utilsZapewnia narzędzie yum-config-manager do zarządzania repozytoriami
device-mapper-persistent-dataWymagane dla sterownika magazynu device mapper Docker
lvm2Obsługa Logical Volume Manager dla backendu magazynu Docker

Te zależności zapewniają, że Docker może efektywnie i niezawodnie zarządzać magazynem kontenerów w systemie CentOS.

Krok 3: Dodaj oficjalne repozytorium Docker

Domyślne repozytoria pakietów CentOS nie zawierają najnowszych pakietów Docker. Musisz dodać oficjalne repozytorium Docker, aby uzyskać najnowszą, stabilną wersję:

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

To polecenie dodaje oficjalne repozytorium CentOS Docker do listy repozytoriów systemu. Korzystanie z oficjalnego źródła gwarantuje, że otrzymasz autentyczne, aktualne pakiety Docker bezpośrednio od Docker Inc., zamiast potencjalnie przestarzałych wersji z luster stron trzecich.

Możesz sprawdzić, czy repozytorium zostało dodane pomyślnie, wyświetlając listę skonfigurowanych repozytoriów:

sudo yum repolist

Krok 4: Instalacja Docker Engine

Mając repozytorium na miejscu, instalacja Docker jest prosta:

sudo yum install -y docker-ce docker-ce-cli containerd.io

> Uwaga: Zaleca się również zainstalowanie docker-ce-cli (interfejsu wiersza poleceń Docker) i containerd.io (środowiska uruchomieniowego kontenera) wraz z głównym silnikiem, aby uzyskać kompletną konfigurację gotową do produkcji.

Instaluje to Docker Community Edition (CE) — bezpłatną, otwartą wersję Docker, która doskonale nadaje się zarówno do obciążeń programistycznych, jak i produkcyjnych.

Krok 5: Uruchomienie i włączenie usługi Docker

Instalacja Docker nie uruchamia go automatycznie. Musisz uruchomić demona Docker i skonfigurować go do automatycznego uruchomienia przy starcie systemu:

sudo systemctl start docker
sudo systemctl enable docker
    systemctl start docker — Uruchamia usługę Docker natychmiast
    systemctl enable docker — Konfiguruje Docker do automatycznego uruchomienia za każdym razem, gdy serwer się restartuje
    
    Weryfikacja statusu usługi
    Potwierdź, że Docker działa prawidłowo:
    sudo systemctl status docker
    Powinieneś zobaczyć dane wyjściowe wskazujące, że usługa jest active (running). Jeśli status pokazuje jakiekolwiek błędy, przejrzyj dzienniki systemowe za pomocą journalctl -u docker w celu uzyskania szczegółów dotyczących rozwiązywania problemów.
    Krok 6: Weryfikacja instalacji Docker
    Uruchom wbudowany test Docker, aby potwierdzić, że wszystko działa zgodnie z oczekiwaniami:
    sudo docker run hello-world
    To polecenie wykonuje następujące czynności:
    
    Łączy się z rejestrem Docker Hub
    Pobiera lekki obraz testowy hello-world
  • Tworzy nowy kontener z tego obrazu
  • Uruchamia kontener, który wyświetla komunikat potwierdzenia
  • Jeśli instalacja przebiegła pomyślnie, zobaczysz dane wyjściowe zaczynające się od:

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

    Gratulacje — Docker jest teraz w pełni zainstalowany i operacyjny na serwerze CentOS.

    Krok 7: Konfiguracja Docker dla użytkowników spoza root (Opcjonalne, ale zalecane)

    Domyślnie polecenia Docker wymagają sudo (uprawnień root). Dla bezpieczeństwa i wygody w środowiskach deweloperskich możesz zezwolić określonym użytkownikom spoza root na uruchamianie poleceń Docker, dodając ich do grupy docker.

    Utwórz grupę Docker

    W większości przypadków grupa ta jest tworzona automatycznie podczas instalacji. Jeśli nie, utwórz ją ręcznie:

    sudo groupadd docker

    Dodaj swojego użytkownika do grupy Docker

    Zastąp your_username rzeczywistą nazwą użytkownika Linux:

    sudo usermod -aG docker your_username

    Zastosuj zmiany

    Wyloguj się i zaloguj ponownie, aby odświeżyć członkostwo w grupie. Alternatywnie aktywuj zmianę w bieżącej sesji:

    newgrp docker

    Testuj bez Sudo

    docker run hello-world

    Jeśli polecenie to uruchamia się bez sudo i bez błędu uprawnień, konfiguracja działa prawidłowo.

    > Ostrzeżenie bezpieczeństwa: Grupa docker przyznaje uprawnienia równoważne użytkownikowi root. Dodawaj do tej grupy tylko zaufanych użytkowników w środowiskach produkcyjnych.

    Krok 8: Podstawowe polecenia Docker – Przewodnik

    Gdy Docker jest uruchomiony, oto najważniejsze polecenia, które będziesz używać na co dzień:

    Zarządzanie kontenerami

    # List all running containers
    docker ps
    
    # List all containers (including stopped ones)
    docker ps -a
    
    # Start a stopped container
    docker start container_id
    
    # Stop a running container
    docker stop container_id
    
    # Remove a container
    docker rm container_id
    
    # Remove all stopped containers at once
    docker container prune

    Zarządzanie obrazami

    # List all locally stored images
    docker images
    
    # Pull an image from Docker Hub
    docker pull image_name
    
    # Pull a specific version/tag
    docker pull image_name:tag
    
    # Remove a local image
    docker rmi image_name
    
    # Remove all unused images
    docker image prune -a

    Uruchamianie kontenerów

    # Run a container interactively
    docker run -it image_name /bin/bash
    
    # Run a container in detached (background) mode
    docker run -d image_name
    
    # Run a container with port mapping
    docker run -d -p 8080:80 image_name
    
    # Run a container with a custom name
    docker run -d --name my_container image_name

    Wyświetlanie dzienników i statystyk

    # View container logs
    docker logs container_id
    
    # Follow live log output
    docker logs -f container_id
    
    # View real-time resource usage
    docker stats

    Krok 9: Potwierdź, że Docker uruchamia się przy starcie

    Docker powinien być już skonfigurowany do uruchomienia przy starcie po uruchomieniu systemctl enable docker. Aby dokładnie sprawdzić lub ponownie włączyć to zachowanie:

    sudo systemctl enable docker

    Aby wyłączyć automatyczne uruchamianie (na przykład na maszynie deweloperskiej, gdzie nie zawsze potrzebujesz uruchomionego Dockera):

    sudo systemctl disable docker

    Krok 10: Zaawansowana konfiguracja (opcjonalnie)

    Zainstaluj Docker Compose

    Docker Compose to niezbędne narzędzie do definiowania i zarządzania aplikacjami wielokontenerowymi przy użyciu prostego pliku konfiguracyjnego YAML. Zainstaluj najnowszą stabilną wersję:

    sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

    Zweryfikuj instalację:

    docker-compose --version

    Dzięki Docker Compose możesz zdefiniować całe stosy aplikacji — serwery WWW, bazy danych, pamięć podręczną — w jednym pliku docker-compose.yml i uruchomić je wszystkie jedną komendą: docker-compose up -d.

    Skonfiguruj demona Docker

    Możesz dostosować zachowanie Docker poprzez edycję (lub utworzenie) pliku konfiguracyjnego demona:

    sudo nano /etc/docker/daemon.json

    Przykład typowej konfiguracji:

    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "10m",
        "max-file": "3"
      },
      "storage-driver": "overlay2",
      "default-address-pools": [
        {"base": "172.17.0.0/16", "size": 24}
      ]
    }

    Po edycji konfiguracji demona uruchom ponownie Docker, aby zastosować zmiany:

    sudo systemctl restart docker

    Typowe ustawienia demona, które możesz skonfigurować, obejmują:

    • Sterownik dziennika i rotacja — Zapobiegaj zużywaniu całego miejsca na dysku przez dzienniki kontenerów
    • Sterownik magazynuoverlay2 to zalecany sterownik dla CentOS
    • Ustawienia DNS — Ustaw niestandardowe serwery DNS dla kontenerów
    • Lustra rejestrów — Przyspieszaj pobieranie obrazów za pomocą lokalnych luster

    Skonfiguruj reguły zapory (CentOS 7)

    Jeśli uruchamiasz firewalld, może być konieczne zezwolenie na ruch sieciowy Docker:

    sudo firewall-cmd --zone=public --add-masquerade --permanent
    sudo firewall-cmd --reload

    Wybór odpowiedniego środowiska hostingowego dla Docker

    Uruchamianie Docker w produkcji wymaga niezawodnego, wysokowydajnego środowiska serwera. Oto najlepsze opcje w zależności od Twojego przypadku użycia:

    • Hosting VPS — Idealny dla większości wdrożeń Docker. Pełny dostęp root, skalowalne zasoby i konkurencyjne ceny sprawiają, że VPS jest pierwszym wyborem dla aplikacji konteneryzowanych.
    • Serwery dedykowane — Najlepsze dla środowisk produkcyjnych o wysokim ruchu lub gdy potrzebujesz maksymalnej wydajności CPU, RAM i pamięci masowej do jednoczesnego uruchamiania dziesiątek kontenerów.
    • Hosting GPU — Idealny dla obciążeń AI/ML uruchamianych wewnątrz kontenerów Docker, które wymagają przyspieszenia GPU do trenowania modeli lub wnioskowania.
    • VPS z cPanel — Jeśli potrzebujesz Docker wraz z przyjaznym dla użytkownika panelem sterowania do zarządzania stronami internetowymi i pocztą elektroniczną, ta kombinacja oferuje najlepsze z obu światów.

    Rozwiązywanie typowych problemów Docker na CentOS

    Demon Docker nie uruchamia się

    Sprawdź dzienniki systemowe, aby uzyskać szczegóły błędu:

    journalctl -u docker --no-pager | tail -50

    Błędy odmowy dostępu

    Jeśli widzisz Got permission denied while trying to connect to the Docker daemon socket, upewnij się, że Twój użytkownik znajduje się w grupie docker i że się wylogowałeś i zalogowałeś ponownie.

    Nie można pobrać obrazów

    Sprawdź, czy Twój serwer ma dostęp do internetu wychodzącego i czy DNS rozwiązuje się prawidłowo:

    curl -I https://registry-1.docker.io

    Problemy z siecią kontenerów

    Uruchom ponownie Docker, aby ponownie zainicjować mosty sieciowe:

    sudo systemctl restart docker

    Podsumowanie

    Pomyślnie zainstalowałeś Docker na CentOS i masz solidne podstawy do pracy z kontenerami. Oto szybki przegląd tego, co zostało omówione:

    1. ✅ Zaktualizowałeś system i zainstalowałeś zależności
    2. ✅ Dodałeś oficjalne repozytorium Docker
    3. ✅ Zainstalowałeś Docker CE i zweryfikowałeś instalację
    4. ✅ Skonfigurowałeś Docker do uruchamiania przy starcie
    5. ✅ Skonfigurowałeś dostęp dla użytkownika niebędącego root
    6. ✅ Nauczyłeś się podstawowych poleceń Docker
    7. ✅ Zainstalowałeś Docker Compose do zarządzania wieloma kontenerami
    8. ✅ Zbadałeś opcje konfiguracji demona

    Docker na CentOS otwiera świat możliwości — od uruchamiania izolowanych środowisk programistycznych po wdrażanie skalowalnych architektur mikrousług w produkcji. Umiejętności konteneryzacji, które tutaj zbudujesz, będą podstawą do bardziej zaawansowanych tematów, takich jak orkiestracja Kubernetes, potoki CI/CD i tworzenie aplikacji natywnych dla chmury.

    Aby uzyskać najlepsze doświadczenie z Docker, upewnij się, że Twoje środowisko serwera jest do tego zdolne. Zapoznaj się z planami hostingu VPS AlexHost dla potężnej, niezawodnej i niedrogiej podstawy dla wszystkich Twoich obciążeń kontenerowych.