15%

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
31.10.2024
1 +1

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

Docker fundamentalnie zmienił sposób, w jaki programiści 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 programistów, 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 jedną aplikację internetową, czy organizujesz złożone środowiska wielokontenerowe, prawidłowe zainstalowanie Docker na CentOS jest krytycznym pierwszym krokiem.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz:

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

> Porada Pro: Aby uzyskać najlepsze doświadczenie z Docker, rozważ uruchomienie go na planie VPS Hosting. Wirtualny serwer prywatny 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 zaplecza 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 pomyślnie dodane, wyświetlając listę skonfigurowanych repozytoriów:

sudo yum repolist

Krok 4: Zainstaluj 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ą, gotową do produkcji konfigurację.

To instaluje Docker Community Edition (CE) — bezpłatną, open-source’ową wersję Docker, która doskonale nadaje się zarówno do obciążeń programistycznych, jak i produkcyjnych.

Krok 5: Uruchom i włącz usługę Docker

Instalacja Docker nie uruchamia go automatycznie. Musisz uruchomić demona Docker i skonfigurować go do automatycznego uruchamiania przy każdym rozruchu systemu:

sudo systemctl start docker
sudo systemctl enable docker
    systemctl start docker — Natychmiast uruchamia usługę Docker
    systemctl enable docker — Konfiguruje Docker do automatycznego uruchamiania za każdym razem, gdy serwer się restartuje
    
    Sprawdź stan usługi
    Potwierdź, że Docker działa prawidłowo:
    sudo systemctl status docker
    Powinieneś zobaczyć dane wyjściowe wskazujące, że usługa jest aktywna (uruchomiona). Jeśli stan pokazuje jakiekolwiek błędy, przejrzyj dzienniki systemowe za pomocą journalctl -u docker w celu uzyskania szczegółów rozwiązywania problemów.
    Krok 6: Sprawdź instalację 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:
    
    Kontaktuje się z rejestrem Docker Hub
    Pobiera lekki obraz testowy hello-world
  • Tworzy nowy kontener z tego obrazu
  • Uruchamia kontener, który drukuje komunikat potwierdzenia
  • Jeśli instalacja się powiedzie, zobaczysz dane wyjściowe, które zaczynają 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: Skonfiguruj Docker dla użytkowników spoza root (opcjonalnie, ale zalecane)

    Domyślnie polecenia Docker wymagają sudo (uprawnień root). Dla bezpieczeństwa i wygody w środowiskach programistycznych 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 ta grupa jest tworzona automatycznie podczas instalacji. Jeśli nie, utwórz ją ręcznie:

    sudo groupadd docker

    Dodaj 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 to działa 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: Odniesienie do podstawowych poleceń Docker

    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 rozruchu

    Docker powinien być już skonfigurowany do uruchamiania przy rozruchu 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 programistycznej, gdzie nie zawsze potrzebujesz Docker):

    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

    Sprawdź instalację:

    docker-compose --version

    Dzięki Docker Compose możesz zdefiniować całe stosy aplikacji — serwery internetowe, bazy danych, pamięci podręczne — w jednym pliku docker-compose.yml i uruchomić je wszystkie za pomocą jednego polecenia: docker-compose up -d.

    Skonfiguruj demona Docker

    Możesz dostosować zachowanie Docker, edytując (lub tworząc) plik konfiguracyjny demona:

    sudo nano /etc/docker/daemon.json

    Przykład wspólnej 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 Docker ponownie, 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 rejestru — Przyspiesz 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 serwerowego. Oto najlepsze opcje w zależności od przypadku użycia:

    • VPS Hosting — Idealny dla większości wdrożeń Docker. Pełny dostęp root, skalowalne zasoby i opłacalne ceny sprawiają, że VPS jest głównym wyborem dla aplikacji kontenerowych.
    • Serwery dedykowane — Najlepsze dla środowisk produkcyjnych o wysokim ruchu lub gdy potrzebujesz maksymalnej wydajności CPU, RAM i magazynu do jednoczesnego uruchamiania dziesiątek kontenerów.
    • GPU Hosting — Idealny dla obciążeń AI/ML uruchamianych wewnątrz kontenerów Docker, które wymagają przyspieszenia GPU
    15%

    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