← К вики

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

Как установить Docker Engine на Ubuntu, Debian или AlmaLinux.

Время: 10 мин · Сложность: ★☆☆☆☆

Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12 · ✓ AlmaLinux 9


Краткое описание

Docker Engine устанавливается из официального репозитория docker.com. Версии из системных репозиториев дистрибутивов устаревшие — не используйте их. На Ubuntu также не устанавливайте Docker через snap.

Когда пригодится

  • Вы разворачиваете приложение в контейнерах
  • Вам нужен docker compose для многоконтейнерных проектов
  • Вы хотите изолировать окружения на одном сервере

Что понадобится

  • Сервер с Ubuntu 22.04, Debian 12 или AlmaLinux 9
  • Доступ под root или пользователь с sudo
  • 10 минут

Пошаговая инструкция

Ubuntu и Debian

Установка через официальный репозиторий Docker:

apt update
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc

Для Ubuntu добавьте репозиторий:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
  | tee /etc/apt/sources.list.d/docker.list

Для Debian замените ubuntu на debian в URL:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
  https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
  | tee /etc/apt/sources.list.d/docker.list

Установите Docker:

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

Запустите и включите автозапуск:

systemctl enable --now docker

AlmaLinux 9

dnf install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl enable --now docker

Добавьте пользователя в группу docker

Чтобы запускать Docker без sudo:

usermod -aG docker $USER

После этой команды перелогиньтесь — изменения вступают в силу только при новом входе.

Проверка результата

docker run hello-world

Пример вывода:

Hello from Docker!
This message shows that your installation appears to be working correctly.

Проверьте версию:

docker --version
# Docker version 26.1.0, build a5ee5b1

docker compose version
# Docker Compose version v2.27.0

Возможные ошибки

permission denied while trying to connect to the Docker daemon

Вы не перелогинились после usermod -aG docker $USER. Выйдите и войдите снова, или выполните:

newgrp docker

Cannot connect to the Docker daemon at unix:///var/run/docker.sock

Docker не запущен. Запустите его:

systemctl start docker
systemctl status docker

E: Package 'docker-ce' has no installation candidate

Репозиторий не добавлен или команда apt update не выполнена после добавления. Повторите шаги добавления репозитория и выполните apt update.

На AlmaLinux: конфликт с podman

Если в системе установлен podman, могут быть конфликты. Удалите его перед установкой Docker:

dnf remove -y podman buildah

FAQ

Почему нельзя устанавливать Docker через snap?

Snap-версия Docker работает в изолированной среде с ограничениями на монтирование путей и сетевые настройки. Это вызывает проблемы при работе с bind-mount и нестандартными сетями.

Что такое docker-compose-plugin?

Это docker compose (v2) — встроенный в Docker CLI плагин. Он заменил отдельную утилиту docker-compose (v1). Используйте docker compose (через пробел), не docker-compose.

Как обновить Docker?

apt update && apt upgrade -y docker-ce docker-ce-cli containerd.io
# или для AlmaLinux
dnf update -y docker-ce docker-ce-cli containerd.io

Как удалить Docker полностью?

apt purge -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
rm -rf /var/lib/docker

Полезные ссылки

Следующие статьи

Сейчас работают только те cookie, без которых сайт не откроется. Разрешите ещё аналитические — будем видеть, где интерфейс мешает, и чинить это.