Установка 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