Установка Docker на VPS: делаем по официальной инструкции
Docker превращает деплой в пару команд: собрал образ, запустил контейнер. Но ставить его надо из официального репозитория, а не из apt по умолчанию — там версия устаревшая. Разберём правильный способ для Ubuntu/Debian.
Содержание
Удаляем старое
['Если раньше ставили docker.io из стандартного apt — уберём конфликтующие пакеты, чтобы не мешали официальному репозиторию.', 'apt remove docker docker-engine docker.io containerd runc -y', 'Данные в /var/lib/docker при этом не удаляются, так что образы и контейнеры не потеряются.']
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для DockerПодключаем официальный репозиторий
['Добавляем GPG-ключ и репозиторий Docker. Команды взяты из официальной документации Docker для Ubuntu.', 'apt update\napt install ca-certificates curl gnupg -y\ninstall -m 0755 -d /etc/apt/keyrings\ncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg\nchmod a+r /etc/apt/keyrings/docker.gpg', 'echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | tee /etc/apt/sources.list.d/docker.list']
Ставим Docker Engine
['apt update\napt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y', 'Плагин docker-compose-plugin даёт современную команду docker compose (без дефиса) — отдельный docker-compose ставить не нужно.', 'systemctl enable --now docker']
Проверка и запуск без sudo
['Проверяем, что демон работает:', 'docker run --rm hello-world', 'Чтобы не писать sudo перед каждой командой, добавляем пользователя в группу docker:', 'usermod -aG docker $USER', 'После этого перелогиньтесь (выйдите и войдите по SSH заново), иначе группа не подхватится.']
Первый контейнер и уборка
['Запустим nginx в фоне, чтобы убедиться, что всё работает:', 'docker run -d -p 8080:80 --name web nginx\ndocker ps', 'Откройте http://YOUR_SERVER_IP:8080 — увидите страницу nginx. Останавливаем и удаляем:', 'docker stop web && docker rm web', 'Периодически чистите неиспользуемые образы, чтобы не забивать NVMe: docker system prune -a. На тарифах MAATRIX с быстрым диском сборка образов идёт заметно шустрее, чем на SATA-хостингах.']
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для DockerЧастые вопросы
Чем docker compose лучше docker-compose?
docker compose (плагин) — актуальная версия на Go, входит в поставку Docker. Старый docker-compose на Python больше не развивается.
Docker работает на любом VPS?
На KVM-виртуализации — да, полноценно. На дешёвом OpenVZ бывают ограничения ядра. VPS MAATRIX работают на полноценной виртуализации, Docker ставится без плясок.
Сколько памяти нужно под Docker?
Сам демон ест мало, всё зависит от контейнеров. Для пары лёгких сервисов хватает 1-2 ГБ, но добавьте swap на всякий случай.