OKВсе сервисы работают штатно
InfrawireЛоготип InfrawireДокументация

Установка Docker на VPS Linux

Docker — платформа контейнеризации для сборки, доставки и запуска приложений в изолированных контейнерах.

📋 Требования

  • Linux VPS с root или sudo
  • Ubuntu 20.04+ / Debian 11+ (или CentOS 7+/RHEL 7+)
  • Минимум 1 ГБ RAM (лучше 2 ГБ)
  • Стабильный интернет

💡 Инфраструктура

Для сборок и I/O удобны быстрые диски — смотрите VPS NVMe.

⚠️ Перед установкой

  • Система 64-bit
  • Имеет смысл сделать резервные копии
  • Установка обычно 5–10 минут

🔧 Ubuntu / Debian

Шаг 1: обновление

Bash
sudo apt update sudo apt upgrade -y

Шаг 2: зависимости

Bash
1sudo apt install -y \ 2 ca-certificates \ 3 curl \ 4 gnupg \ 5 lsb-release

Шаг 3: ключ GPG Docker

Bash
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg

Шаг 4: репозиторий

Bash
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

Шаг 5: установка Docker Engine

Bash
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Шаг 6: проверка

Bash
sudo docker --version sudo docker compose version

🔧 CentOS / RHEL

Bash
1sudo yum update -y 2sudo yum install -y yum-utils 3sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 4sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 5sudo systemctl start docker 6sudo systemctl enable docker 7sudo docker --version 8sudo docker compose version

👤 Шаг 7: права пользователя

Чтобы не использовать sudo для каждой команды Docker:

Bash
sudo usermod -aG docker $USER newgrp docker

Проверка:

Bash
docker run hello-world

🧪 Шаг 8: тест

Bash
docker run hello-world docker ps docker ps -a docker images

🐙 Docker Compose отдельно (если не вошёл в пакет)

Ubuntu/Debian:

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

📦 Основные команды

Образы: docker pull, docker images, docker rmi, docker image prune -a
Контейнеры: docker run, docker run -d, docker ps, docker stop, docker start, docker restart, docker rm, docker logs, docker exec -it … /bin/bash
Compose: docker compose up, docker compose up -d, docker compose down, docker compose logs, docker compose build

🔒 Безопасность daemon (опционально)

/etc/docker/daemon.json:

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

Пользователи в группе docker по сути имеют права root — добавляйте только доверенных; для паранойи изучите rootless Docker.

🔄 Обновление

Ubuntu/Debian: sudo apt update && sudo apt upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
CentOS/RHEL: sudo yum update docker-ce …

🗑️ Удаление

Ubuntu/Debian:

Bash
sudo systemctl stop docker sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd

❓ Проблемы

Cannot connect to the Docker daemonsudo systemctl start docker, проверьте группу docker.
Permission deniedusermod -aG docker $USER, перелогин.
Медленноdf -h, docker system prune -a, free -h.

📝 Пример compose

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
Bash
mkdir mon-projet && cd mon-projet nano docker-compose.yml docker compose up -d docker ps

📞 Помощь

Поддержка Infrawire при ошибках установки.


Примечание: перед продакшеном разберитесь с базовыми понятиями образов и контейнеров.