Установка Docker на VPS: делаем по официальной инструкции
Docker превращает деплой в пару команд: собрал образ, запустил контейнер. Но ставить его надо из официального репозитория, а не из apt по умолчанию — там версия устаревшая. Разберём правильный способ для Ubuntu/Debian.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Удаляем старое
Если раньше ставили 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
apt install ca-certificates curl gnupg -y
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod 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
apt 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
docker 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Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Чем docker compose лучше docker-compose?
docker compose (плагин) — актуальная версия на Go, входит в поставку Docker. Старый docker-compose на Python больше не развивается.
Docker работает на любом VPS?
На KVM-виртуализации — да, полноценно. На дешёвом OpenVZ бывают ограничения ядра. VPS MAATRIX работают на полноценной виртуализации, Docker ставится без плясок.
Сколько памяти нужно под Docker?
Сам демон ест мало, всё зависит от контейнеров. Для пары лёгких сервисов хватает 1-2 ГБ, но добавьте swap на всякий случай.