Docker: установка на машину
Как правильно поставить Docker на Debian, Ubuntu и AlmaLinux, чем официальный репозиторий лучше пакета из системы и что проверить сразу после установки.
Обновлено 23 августа 2026 г.
Docker упаковывает приложение вместе со всем окружением в контейнер: не нужно подбирать версии библиотек, а перенос на другую машину сводится к копированию файла настройки. На VDS с полным root-доступом ставится штатно.
Ставьте из официального репозитория
В системных репозиториях лежит либо старая версия, либо docker.io без плагина Compose v2. Разница ощутима: половина инструкций в интернете написана под современный docker compose, а не docker-compose.
Debian 12 и 13, Ubuntu 22.04 / 24.04 / 26.04:
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
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" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Для Ubuntu замените debian на ubuntu в двух местах.
AlmaLinux 9 и 10, CentOS Stream 9:
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker
Проверка
docker --version
docker compose version
sudo docker run --rm hello-world
docker info | grep -E "Storage Driver|Cgroup|Docker Root Dir"
Если hello-world скачался и вывел приветствие — всё работает. Драйвер хранения должен быть overlay2.
Работа без sudo
sudo usermod -aG docker $USER
newgrp docker
Группа
dockerравносильна root. Любой, кто в неё входит, может запустить контейнер с примонтированным корнем хоста и стать администратором. Добавляйте туда только тех, кому вы и так доверили бы root, — и не выдавайте её приложениям.
Что настроить сразу
Ограничьте журналы, иначе один болтливый контейнер съест диск. Создайте /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": { "max-size": "20m", "max-file": "3" }
}
sudo systemctl restart docker
Подробнее — журналы контейнеров.
Сколько это занимает
Сам Docker — около 500 МБ, дальше растут образы и тома. На VDS-1 с диском 40 ГБ два-три сервиса помещаются, но следить за местом придётся: см. место на диске.
Частые ошибки
- Смешали
docker.ioиdocker-ce. Сначалаsudo apt remove docker.io docker-compose, потом установка из официального репозитория. - Docker открыл порт мимо брандмауэра. Правила
iptablesDocker пишет сам, иufwих не видит. Публикуйте порт на локальный интерфейс —-p 127.0.0.1:8080:80— если наружу он не нужен. Подробнее в сетях Docker. - Забыли
--nowв systemctl на AlmaLinux. Служба включена, но не запущена; после перезагрузки заработает, а сейчас — нет.
Дальше: Docker Compose и тома.