web-dev-qa-db-fra.com

Docker CE ne démarre pas après la mise à niveau vers 18.09 sous Ubuntu 18.04

Lorsque j'essaie de passer à la dernière version de docker-ce, le 18.09.0 ~ 3-0 ~ ubuntu-bionic, le menu fixe ne parvient pas à démarrer avec l'erreur de ne pas trouver le plug-in devicemapper.

-- Unit docker.service has begun starting up.
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41-07:00" level=warning msg="Running experimental build"
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.149758139-07:00" level=info msg="User namespaces: ID ranges will be mapped to subuid/subgid ranges of: lxd:lxd"
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.159295190-07:00" level=info msg="systemd-resolved is running, so using resolvconf: /run/systemd/resolve/resolv.conf"
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.159453828-07:00" level=info msg="User namespaces: ID ranges will be mapped to subuid/subgid ranges of: lxd:lxd"
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160388092-07:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160423687-07:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160470021-07:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160482788-07:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160560969-07:00" level=info msg="ccResolverWrapper: sending new addresses to cc: [{unix:///run/containerd/containerd.sock 0  <nil>}]" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160601454-07:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160588007-07:00" level=info msg="ccResolverWrapper: sending new addresses to cc: [{unix:///run/containerd/containerd.sock 0  <nil>}]" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160697436-07:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160743537-07:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc4200db9f0, CONNECTING" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160691768-07:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc42009a1d0, CONNECTING" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160760682-07:00" level=warning msg="Unable to locate plugin: devicemapper, retrying in 1s"
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160773855-07:00" level=info msg="blockingPicker: the picked transport is not ready, loop back to repick" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160922445-07:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc42009a1d0, READY" module=grpc
Nov 18 22:16:41 server dockerd[6351]: time="2018-11-18T22:16:41.160999752-07:00" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc4200db9f0, READY" module=grpc
Nov 18 22:16:42 server dockerd[6351]: time="2018-11-18T22:16:42.161035546-07:00" level=warning msg="Unable to locate plugin: devicemapper, retrying in 2s"
Nov 18 22:16:44 server dockerd[6351]: time="2018-11-18T22:16:44.161383150-07:00" level=warning msg="Unable to locate plugin: devicemapper, retrying in 4s"
Nov 18 22:16:48 server dockerd[6351]: time="2018-11-18T22:16:48.161695623-07:00" level=warning msg="Unable to locate plugin: devicemapper, retrying in 8s"

Tout fonctionnait bien avant la mise à niveau. Quand je reviens à la version précédente de docker-ce, 18.06.1 ~ ce ~ 3-0 ~ ubuntu, cela fonctionne à nouveau. Toutes les idées seraient merveilleuses.

daemon.json:

{
    "userns-remap": "lxd",
    "userland-proxy": false,
    "storage-driver": "devicemapper",
    "storage-opts": [
      "dm.thinpooldev=/dev/mapper/docker-thinpool",
      "dm.use_deferred_removal=true",
      "dm.use_deferred_deletion=true"
    ]
}

ton nom:

Linux server 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

utiliser Ubuntu 18.04.1 LTS

Merci d'avoir pris le temps de regarder ça.

1
BioSLuDge

Le devicemapper obsolète a été retiré du paquet Ubuntu docker en raison du déplacement du code dans containerd .

Jusqu'à ce que cela soit corrigé, je recommanderais d'épingler le paquet à la version 18.06.

cat > /etc/apt/preferences.d/docker  <<EOF
Package: docker-ce
Pin: version 18.06*
Pin-Priority: 1000
EOF

apt-get remove docker-ce runc docker containerd.io
apt-get install docker-ce thin-provisioning-tools
journalctl -xe | grep docker
1
flob

J'ai pu démarrer dockerd après avoir supprimé mes options de stockage et la configuration de pilote de stockage.

Sur la base des informations sur le lien provenant de @Ivan, j’ai retiré docker-ce et effectué un autoremove. J'ai ensuite réinstallé docker-ce. Un déclencheur post-installation a tenté de démarrer dockerd, ce qui a échoué, mais le processus d'installation a fourni la commande journalctl -xe pour diagnostiquer le problème.

L'exécution de journalctl -xe a affiché un message d'erreur qui m'a amené à suspecter devicemapper. Supprimer la configuration a permis à dockerd de démarrer normalement.

0
suthsc