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
sudouprawnieniami - 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 -yTo 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 lvm2Oto co robi każdy pakiet:
| Pakiet | Cel |
|---|---|
yum-utils | Zapewnia narzędzie yum-config-manager do zarządzania repozytoriami |
device-mapper-persistent-data | Wymagane dla sterownika magazynu device mapper Docker |
lvm2 | Obsł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.repoTo 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 repolistKrok 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 dockersystemctl 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-worldJeś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 dockerDodaj użytkownika do grupy Docker
Zastąp your_username rzeczywistą nazwą użytkownika Linux:
sudo usermod -aG docker your_usernameZastosuj zmiany
Wyloguj się i zaloguj ponownie, aby odświeżyć członkostwo w grupie. Alternatywnie aktywuj zmianę w bieżącej sesji:
newgrp dockerTestuj bez Sudo
docker run hello-worldJeś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 pruneZarzą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 -aUruchamianie 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_nameWyś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 statsKrok 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 dockerAby wyłączyć automatyczne uruchamianie (na przykład na maszynie programistycznej, gdzie nie zawsze potrzebujesz Docker):
sudo systemctl disable dockerKrok 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-composeSprawdź instalację:
docker-compose --versionDzię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.jsonPrzykł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 dockerTypowe 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 magazynu —
overlay2to 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 --reloadWybó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
