Полное и безопасное удаление Docker Engine с Debian 12 (Bookworm) и Debian 13 (Trixie) — включая все компоненты, конфиги, образы, контейнеры, тома и кэш.
Внимание: Это полное удаление. Все данные контейнеров, образы, тома будут безвозвратно удалены.
Шаг 1: Остановить и удалить все контейнеры
# Остановить все запущенные контейнеры
sudo docker stop $(sudo docker ps -q) 2>/dev/null || true
# Удалить ВСЕ контейнеры (включая остановленные)
sudo docker rm $(sudo docker ps -aq) 2>/dev/null || true
-q — только ID, без лишнего вывода
|| true — игнорировать ошибки, если Docker не установлен
Шаг 2: Удалить все образы, тома, сети, кэш
# Удалить ВСЕ образы
sudo docker rmi $(sudo docker images -aq) 2>/dev/null || true
# Удалить ВСЕ неиспользуемые тома
sudo docker volume prune -f
# Удалить ВСЕ неиспользуемые сети
sudo docker network prune -f
# Удалить весь кэш сборки
sudo docker builder prune -af
Опция -f — без подтверждения
Опция -a — удалить все, включая используемые (осторожно!)
Шаг 3: Удалить Docker и все связанные пакеты
# Основные пакеты Docker
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
# Дополнительные пакеты (если были установлены)
sudo apt-get purge -y docker-scan-plugin docker-ce-rootless-extras
# Удалить зависимости, которые больше не нужны
sudo apt-get autoremove -y
purge — удаляет пакеты + конфигурационные файлы
Шаг 4: Удалить официальный репозиторий Docker
# Удалить файл репозитория
sudo rm -f /etc/apt/sources.list.d/docker.list
# Удалить GPG-ключ
sudo rm -f /etc/apt/keyrings/docker.asc
Шаг 5: Удалить все данные Docker (образы, контейнеры, тома, конфиги)
# Основная директория данных Docker
sudo rm -rf /var/lib/docker
# Конфигурация containerd
sudo rm -rf /var/lib/containerd
# Логи
sudo rm -rf /var/log/docker*
sudo rm -rf /var/log/containerd*
# Конфиги systemd (если есть)
sudo rm -rf /etc/docker
sudo rm -rf /etc/containerd
# Плагин compose (если установлен отдельно)
sudo rm -rf ~/.docker/cli-plugins/docker-compose
Внимание: /var/lib/docker — все ваши образы, тома, контейнеры. После удаления — восстановление невозможно.
Шаг 6: Очистить кэш apt
sudo apt-get clean
sudo apt-get update
Шаг 7: Перезагрузить систему (рекомендуется)
sudo reboot
Чтобы убедиться, что systemd не держит старые юниты.
Проверка: Docker полностью удалён?
# Должны выдать "command not found"
docker --version
docker-compose --version
containerd --version
# Не должно быть процессов
ps aux | grep -i docker
ps aux | grep -i containerd
# Не должно быть юнитов
sudo systemctl status docker
sudo systemctl status containerd
Итог: Что удалено?
Компонент
Путь
Удалено?
Пакеты
docker-ce, containerd.io и др.
Да (purge)
Репозиторий
/etc/apt/sources.list.d/docker.list
Да
GPG-ключ
/etc/apt/keyrings/docker.asc
Да
Данные
/var/lib/docker
Да
Конфиги
/etc/docker, /etc/containerd
Да
Логи
/var/log/docker*
Да
Плагины
~/.docker/cli-plugins
Да
Юниты systemd
docker.service, containerd.service
Да
Полный скрипт удаления (одной командой)
#!/bin/bash
set -e
echo "Полное удаление Docker с Debian 12/13..."
# 1. Остановить и удалить контейнеры
sudo docker stop $(sudo docker ps -q) 2>/dev/null || true
sudo docker rm $(sudo docker ps -aq) 2>/dev/null || true
# 2. Удалить образы, тома, сети, кэш
sudo docker rmi -f $(sudo docker images -aq) 2>/dev/null || true
sudo docker volume prune -f 2>/dev/null || true
sudo docker network prune -f 2>/dev/null || true
sudo docker builder prune -af 2>/dev/null || true
# 3. Удалить пакеты
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin \
docker-scan-plugin docker-ce-rootless-extras 2>/dev/null || true
sudo apt-get autoremove -y
# 4. Удалить репозиторий и ключ
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.asc
# 5. Удалить все данные
sudo rm -rf /var/lib/docker /var/lib/containerd
sudo rm -rf /var/log/docker* /var/log/containerd*
sudo rm -rf /etc/docker /etc/containerd
sudo rm -rf ~/.docker/cli-plugins
# 6. Очистить кэш
sudo apt-get clean
sudo apt-get update
echo "Docker полностью удалён."
echo "Рекомендуется перезагрузить систему: sudo reboot"
Сохраните как uninstall-docker.sh, сделайте исполняемым:
chmod +x uninstall-docker.sh
sudo ./uninstall-docker.sh