Ошибка при попытке установить Docker CE на Linux Ubuntu 18.04 Bionic?
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Будут установлены следующие НОВЫЕ пакеты:
докер-в.п.
0 обновлено, 1 недавно установлено, 0 для удаления и 0 не обновлено.
Нужно получить 0 B/33
,8 MB
архивов.
После этой операции 181 MB
дополнительного дискового пространства.
(
Reading database ... 129600 files and directories currently installed.)
Preparing to unpack .../docker-ce_18.03.1~ce-0~ubuntu_amd64.deb ...
Unpacking docker-ce (18.03.1~ce-0~ubuntu) ...
dpkg: error processing archive /var/cache/apt/archives/docker-ce_18.03.1~ce-0~ubuntu_amd64.deb (--unpack):
trying to overwrite '/usr/bin/docker-containerd', which is also in package docker-containerd 0.2.3+git+docker1.13.1~ds1-1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/docker-ce_18.03.1~ce-0~ubuntu_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
3 ответа
Я получил эту ошибку при попытке установить последнюю версию Docker (v20.10.17) на Ubuntu Focal 20.04 (LTS) в соответствии с официальной документацией . Я попытался установить более старые версии и получил ту же ошибку. При работеsudo dockerd --debug
он показал реальную ошибку:
не удалось запустить демон: контрольная группа устройств не смонтирована
Cgroupfs (группы управления) — это механизм ядра для отслеживания и наложения ограничений на использование ресурсов для групп задач. Таким образом, решение состоит в том, чтобы смонтировать его. Обратите внимание, что вам нужно остановить демон контейнера перед монтированием контрольной группы, а затем снова запустить его после этого.
Остановить демон
sudo systemctl stop containerd
Размонтируйте (на всякий случай), а затем смонтируйте cgroup
sudo cgroupfs-umount sudo cgroupfs-mount
Запустите демон снова
sudo systemctl start containerd sudo systemctl start docker.service sudo systemctl start docker.socket
Если все еще есть ошибки, переустановите все
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Проверьте, работает ли Docker
sudo docker run hello-world
Я не вижу 18.04 в списке поддерживаемых, поэтому вы можете столкнуться с проблемами совместимости, которые разработчики не успели решить. Чтобы обойти вашу непосредственную проблему, я бы удалил "docker-containerd" и любые другие зависимые пакеты, так как он, похоже, основан на очень старой версии docker (1.13).
apt remove docker-containerd
Шаг 01 - Удалите старую версию Docker
$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo rm -rf /var/lib/docker
$ sudo apt-get autoclean
$ sudo apt-get update
Шаг 02 - Установите Docker-ce:
Установите несколько необходимых пакетов, которые позволяют APT использовать пакеты через HTTPS:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Добавьте в систему ключ GPG для официального репозитория Docker:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Добавьте репозиторий Docker в источник APT:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Обновите базу данных пакетов
$ sudo apt update
Убедитесь, что вы собираетесь установить из репозитория Docker вместо репозитория Ubuntu по умолчанию.
$ apt-cache policy docker-ce
Наконец, установите Docker:
$ sudo apt install docker-ce
Убедитесь, что докер запущен
$ sudo systemctl status docker