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 -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 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.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 dodane pomyślnie, wyświetlając listę skonfigurowanych repozytoriów:
sudo yum repolistKrok 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 dockersystemctl 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-worldJeś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 dockerDodaj swojego 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 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 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 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 dockerAby wyłączyć automatyczne uruchamianie (na przykład na maszynie deweloperskiej, gdzie nie zawsze potrzebujesz uruchomionego Dockera):
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-composeZweryfikuj instalację:
docker-compose --versionDzię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.jsonPrzykł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 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 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 --reloadWybó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 -50Błę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.ioProblemy z siecią kontenerów
Uruchom ponownie Docker, aby ponownie zainicjować mosty sieciowe:
sudo systemctl restart dockerPodsumowanie
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:
- ✅ Zaktualizowałeś system i zainstalowałeś zależności
- ✅ Dodałeś oficjalne repozytorium Docker
- ✅ Zainstalowałeś Docker CE i zweryfikowałeś instalację
- ✅ Skonfigurowałeś Docker do uruchamiania przy starcie
- ✅ Skonfigurowałeś dostęp dla użytkownika niebędącego root
- ✅ Nauczyłeś się podstawowych poleceń Docker
- ✅ Zainstalowałeś Docker Compose do zarządzania wieloma kontenerami
- ✅ 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.
na wszystkich usługach hostingowych