Подтвердить что ты не робот

Последнее обновление Ubuntu 16.04 сломало Docker (docker-ce)

Я запускаю Ubuntu 16.04 на своем рабочем столе. Я использую docker-ce, и он работал до нескольких дней назад. Автообновление в Ubuntu, похоже, сломало его.

[email protected]:~$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Я попытался, следуя инструкциям на https://docs.docker.com/install/linux/docker-ce/ubuntu/, удалить и переустановить, но это не сработало.

[email protected]:~$ sudo apt-get install docker-ce
Reading package lists... Done
Building dependency tree       
Reading state information... Done
docker-ce is already the newest version (5:18.09.0~3-0~ubuntu-xenial).
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies.
 docker-ce : Depends: containerd.io but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Я считаю, что проблема связана с containerd.io. Команда sudo apt-get -f install пытается установить его и выдает следующие ошибки:

The following additional packages will be installed:
  containerd.io
The following NEW packages will be installed
  containerd.io
0 to upgrade, 1 to newly install, 0 to remove and 1 not to upgrade.
1 not fully installed or removed.
Need to get 0 B/19.9 MB of archives.
After this operation, 87.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
(Reading database ... 523620 files and directories currently installed.)
Preparing to unpack .../containerd.io_1.2.0-1_amd64.deb ...
Unpacking containerd.io (1.2.0-1) ...
dpkg: error processing archive /var/cache/apt/archives/containerd.io_1.2.0-1_amd64.deb (--unpack):
 trying to overwrite '/usr/sbin/runc', which is also in package runc 1.0.0~rc2+docker1.13.1-0ubuntu1~16.04.1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/containerd.io_1.2.0-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Возникла некоторая проблема с /usr/sbin/runc, в рамках отладки я попытался удалить файл, но это не имело никакого значения:

[email protected]:~$ ls /usr/sbin/runc
ls: cannot access '/usr/sbin/runc': No such file or directory
[email protected]:~$ sudo ls /usr/sbin/runc
ls: cannot access '/usr/sbin/runc': No such file or directory

Есть ли у кого-нибудь какие-либо предложения относительно того, что я должен делать дальше, чтобы исследовать эту проблему.

4b9b3361

Ответ 1

Я бы runc пакет runc. Версия docker1.13.1 - это указатель на очень старую и неподдерживаемую версию docker, так что, скорее всего, это осталось от предыдущего обновления. Тогда вы сможете установить containerd.io.

Возможно, вам придется сначала удалить пакет docker-ce, используя apt-get remove docker-ce а затем выполнить ваш apt-get remove runc затем, чтобы снова установить docker-ce, вы должны использовать apt-get install docker-ce. Это потому, что попытка удалить runc без предварительного удаления docker-ce не работает

Дайте мне знать, если это удастся, так как я хотел бы открыть для этого проблему в докере, если она еще не существует.