Polski

Instalacja Dockera na VPS z Linuxem

2 min
Hosting VPS/VDS

Ten przewodnik opisuje instalację Dockera i Docker Compose na VPS z Linuxem. Docker to platforma konteneryzacji, która pozwala tworzyć, wdrażać i uruchamiać aplikacje w izolowanych kontenerach, ułatwiając wdrażanie i zarządzanie aplikacjami.

📋 Wymagania wstępne

  • VPS z Linuxem z dostępem root lub sudo
  • Ubuntu 20.04+ lub Debian 11+ (albo CentOS 7+/RHEL 7+)
  • Co najmniej 1 GB RAM (zalecane 2 GB)
  • Stabilne połączenie z Internetem

💡 Rekomendacja infrastruktury

Docker wymaga szybkich dysków do kompilacji i intensywnych operacji I/O. Polecamy nasz VPS NVMe dla optymalnej wydajności przy użyciu Dockera. Dyski NVMe oferują nawet do 10× wyższą prędkość niż klasyczne SSD, znacznie przyspieszając budowanie obrazów Dockera i start kontenerów.

⚠️ Ważne przed instalacją

  • Sprawdź system — Docker wymaga architektury 64-bitowej
  • Zrób kopię zapasową danych — instalacja może zmienić część konfiguracji systemu
  • Czas instalacji — zwykle trwa od 5 do 10 minut

🔧 Instalacja na Ubuntu/Debian

Krok 1: Aktualizacja systemu

Bash
# Aktualizacja listy pakietów sudo apt update # Aktualizacja zainstalowanych pakietów sudo apt upgrade -y

Krok 2: Instalacja zależności

Bash
# Instalacja wymaganych pakietów sudo apt install -y \ ca-certificates \ curl \ gnupg \ lsb-release

Krok 3: Dodanie oficjalnego klucza GPG Dockera

Bash
# Utworzenie katalogu na klucze sudo install -m 0755 -d /etc/apt/keyrings # Pobranie i dodanie klucza GPG curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg # Ustawienie uprawnień sudo chmod a+r /etc/apt/keyrings/docker.gpg

Krok 4: Konfiguracja repozytorium Dockera

Bash
# Dodanie repozytorium Dockera echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Krok 5: Instalacja silnika Dockera (Docker Engine)

Bash
# Aktualizacja listy pakietów sudo apt update # Instalacja Docker Engine, containerd i Docker Compose sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Krok 6: Weryfikacja instalacji

Bash
# Sprawdzenie, czy Docker jest poprawnie zainstalowany sudo docker --version # Sprawdzenie Docker Compose sudo docker compose version

🔧 Instalacja na CentOS/RHEL

Krok 1: Aktualizacja systemu

Bash
# Aktualizacja pakietów sudo yum update -y

Krok 2: Instalacja zależności

Bash
# Instalacja wymaganych pakietów sudo yum install -y yum-utils

Krok 3: Dodanie repozytorium Dockera

Bash
# Dodanie repozytorium Dockera sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Krok 4: Instalacja silnika Dockera

Bash
# Instalacja Docker Engine, containerd i Docker Compose sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Krok 5: Uruchomienie Dockera

Bash
# Uruchomienie usługi Dockera sudo systemctl start docker # Włączenie Dockera przy starcie systemu sudo systemctl enable docker

Krok 6: Weryfikacja instalacji

Bash
# Sprawdzenie wersji Dockera sudo docker --version # Sprawdzenie Docker Compose sudo docker compose version

👤 Krok 7: Konfiguracja uprawnień (ważne)

Domyślnie Docker wymaga uprawnień roota. Aby uruchamiać Dockera bez sudo, dodaj użytkownika do grupy docker:

Bash
# Dodanie użytkownika do grupy docker sudo usermod -aG docker $USER # Zastosowanie zmian (wymagane wylogowanie / ponowne zalogowanie) newgrp docker

Ważne: Po dodaniu użytkownika do grupy docker musisz wylogować się i zalogować ponownie, aby zmiany zaczęły obowiązywać.

Weryfikacja uprawnień

Bash
# Test Dockera bez sudo docker run hello-world

Jeśli polecenie zakończy się bez błędu, Docker jest poprawnie skonfigurowany.

🧪 Krok 8: Test Dockera

Uruchomienie kontenera testowego

Bash
# Uruchomienie kontenera Hello World docker run hello-world

To polecenie:

  1. Pobierze obraz hello-world z Docker Hub
  2. Utworzy kontener z tego obrazu
  3. Uruchomi kontener
  4. Wyświetli komunikat potwierdzający

Lista kontenerów

Bash
# Lista działających kontenerów docker ps # Wszystkie kontenery (w tym zatrzymane) docker ps -a # Lista obrazów Dockera docker images

🐙 Krok 9: Instalacja Docker Compose (jeśli nie był w pakiecie)

Jeśli Docker Compose nie został zainstalowany razem z Docker Engine, zainstaluj go osobno:

Na Ubuntu/Debian

Bash
# Pobranie Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Nadanie prawa wykonywania sudo chmod +x /usr/local/bin/docker-compose # Weryfikacja instalacji docker-compose --version

Na CentOS/RHEL

Bash
# Pobranie Docker Compose sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # Nadanie prawa wykonywania sudo chmod +x /usr/local/bin/docker-compose # Weryfikacja instalacji docker-compose --version

📦 Podstawowe polecenia Dockera

Zarządzanie obrazami

Bash
# Pobranie obrazu docker pull nazwa-obrazu:tag # Lista obrazów docker images # Usunięcie obrazu docker rmi nazwa-obrazu # Czyszczenie nieużywanych obrazów docker image prune -a

Zarządzanie kontenerami

Bash
# Utworzenie i uruchomienie kontenera docker run nazwa-obrazu # Kontener w tle (detached) docker run -d nazwa-obrazu # Lista działających kontenerów docker ps # Zatrzymanie kontenera docker stop id-kontenera # Uruchomienie zatrzymanego kontenera docker start id-kontenera # Restart kontenera docker restart id-kontenera # Usunięcie kontenera docker rm id-kontenera # Logi kontenera docker logs id-kontenera # Wykonanie polecenia w działającym kontenerze docker exec -it id-kontenera /bin/bash

Docker Compose

Bash
# Uruchomienie usług z pliku docker-compose.yml docker compose up # Uruchomienie w tle docker compose up -d # Zatrzymanie usług docker compose down # Logi docker compose logs # Ponowna budowa obrazów docker compose build

🔒 Zabezpieczenie Dockera

Konfiguracja demona Dockera (opcjonalnie)

Utwórz lub edytuj /etc/docker/daemon.json:

Bash
sudo nano /etc/docker/daemon.json

Dodaj konfigurację:

JSON
1{ 2 "log-driver": "json-file", 3 "log-opts": { 4 "max-size": "10m", 5 "max-file": "3" 6 } 7}

Restart Dockera:

Bash
sudo systemctl restart docker

Ograniczenie dostępu do Dockera

Domyślnie użytkownicy w grupie docker mają uprawnienia zbliżone do roota. Dla większego bezpieczeństwa możesz:

  1. Przyznawać dostęp tylko zaufanym użytkownikom
  2. Użyć trybu rootless Dockera (zaawansowana instalacja)
  3. Skonfigurować polityki bezpieczeństwa przez AppArmor lub SELinux

🔄 Aktualizacja Dockera

Na Ubuntu/Debian

Bash
# Aktualizacja pakietów sudo apt update # Aktualizacja Dockera sudo apt upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Na CentOS/RHEL

Bash
# Aktualizacja Dockera sudo yum update docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

🗑️ Odinstalowanie Dockera

Aby odinstalować Dockera:

Na Ubuntu/Debian

Bash
# Zatrzymanie Dockera sudo systemctl stop docker # Odinstalowanie pakietów sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras # Usunięcie obrazów, kontenerów i wolumenów sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd

Na CentOS/RHEL

Bash
# Zatrzymanie Dockera sudo systemctl stop docker # Odinstalowanie pakietów sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras # Usunięcie obrazów, kontenerów i wolumenów sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd

❓ Typowe problemy

Błąd „Cannot connect to the Docker daemon”

Rozwiązanie:

Bash
# Sprawdź, czy usługa Docker działa sudo systemctl status docker # Uruchom Dockera w razie potrzeby sudo systemctl start docker # Sprawdź, czy jesteś w grupie docker groups

Błąd „Permission denied”

Rozwiązanie:

Bash
# Dodaj użytkownika do grupy docker sudo usermod -aG docker $USER # Wyloguj się i zaloguj ponownie

Docker jest wolny

Możliwe działania:

  • Sprawdź miejsce na dysku: df -h
  • Usuń nieużywane obrazy: docker system prune -a
  • Sprawdź dostępną pamięć: free -h

📝 Przykład: wdrożenie prostej aplikacji

Utworzenie pliku docker-compose.yml

Bash
# Katalog projektu mkdir moj-projekt cd moj-projekt # Plik docker-compose.yml nano docker-compose.yml

Przykładowa zawartość:

YAML
1version: '3.8' 2 3services: 4 web: 5 image: nginx:latest 6 ports: 7 - "80:80" 8 volumes: 9 - ./html:/usr/share/nginx/html 10 restart: unless-stopped

Uruchomienie aplikacji

Bash
# Uruchomienie usług docker compose up -d # Sprawdzenie działającego kontenera docker ps

📞 Potrzebujesz pomocy?

Jeśli napotkasz problemy z instalacją Dockera, skontaktuj się z pomocą techniczną Infrawire. Jesteśmy dostępni, aby pomóc.


Uwaga: Docker to potężne narzędzie, które znacznie ułatwia wdrażanie aplikacji. Warto zrozumieć podstawowe pojęcia przed wdrożeniami produkcyjnymi.

Bądź na bieżąco z najnowszymi ofertami, zniżkami i promocjami specjalnymi.

Zobacz promocje

Używamy plików cookie

Używamy plików cookie analitycznych, aby ulepszać nasz serwis. Nie sprzedajemy danych stronom trzecim. Więcej w polityce prywatności.