web-dev-qa-db-fra.com

La dernière mise à jour d'Ubuntu 16.04 a cassé Docker (Docker-CE)

J'exécute Ubuntu 16.04 sur mon bureau. J'utilise docker-ce et cela fonctionne jusqu'à il y a quelques jours. La mise à jour automatique dans Ubuntu semble l'avoir cassée.

robert@catness:~$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

J'ai essayé de suivre les instructions de https://docs.docker.com/install/linux/docker-ce/ubuntu/ pour supprimer et réinstaller, mais cela n'a pas fonctionné.

robert@catness:~$ 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).

Je crois que le problème est avec containerd.io. La commande Sudo apt-get -f install essaie de l'installer et cette erreur:

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)

Il y avait un problème avec/usr/sbin/runc, dans le cadre du débogage, j'ai essayé de supprimer le fichier là-bas, mais cela n'a fait aucune différence:

robert@catness:~$ ls /usr/sbin/runc
ls: cannot access '/usr/sbin/runc': No such file or directory
robert@catness:~$ Sudo ls /usr/sbin/runc
ls: cannot access '/usr/sbin/runc': No such file or directory

Quelqu'un a-t-il des suggestions sur ce que je dois faire ensuite pour enquêter sur ce problème?.

16
Robert3452

Je supprimerais le paquet runc. Le docker1.13.1 version est un pointeur vers une version très ancienne et non prise en charge de docker, il s'agit donc probablement d'une ancienne mise à niveau. Vous devriez alors pouvoir installer containerd.io.

Vous devrez peut-être d'abord supprimer le package docker-ce à l'aide de apt-get remove docker-ce puis exécutez votre apt-get remove runc puis pour réinstaller docker-ce vous devez utiliser apt-get install docker-ce. En effet, essayer de supprimer runc sans supprimer d'abord docker-ce ne fonctionne pas

Faites-moi savoir si cela réussit, car j'aimerais ouvrir un problème dans Docker pour cela s'il n'existe pas déjà.

30
BMitch