Le service docker plante et empêche l'upgrade d'apt

Bonjour à tou·te·s,

Mon serveur YunoHost

Matériel: serveur Kimsufi
Version de YunoHost: stable 11.1.5.3
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : oui

Description du problème

Je rencontre un problème de mise à jour du packet docker-ce, elle-même semblant liée à un problème du service docker

apt install --fix-broken
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up docker-ce (5:23.0.0-1~debian.11~bullseye) ...
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "restart" failed.
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Fri 2023-02-03 11:33:04 CET; 7ms ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
    Process: 1520805 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/F
AILURE)
   Main PID: 1520805 (code=exited, status=1/FAILURE)
        CPU: 63ms

Feb 03 11:33:04 10qt.net systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 03 11:33:04 10qt.net systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 03 11:33:04 10qt.net systemd[1]: Failed to start Docker Application Container Engine.
dpkg: error processing package docker-ce (--configure):
 installed docker-ce package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 docker-ce

Et le statut du service :

# systemctl status docker.service
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2023-02-03 11:29:56 CET; 13s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
    Process: 1520454 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/>
   Main PID: 1520454 (code=exited, status=1/FAILURE)
        CPU: 75ms

Feb 03 11:29:56 10qt.net systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
Feb 03 11:29:56 10qt.net systemd[1]: Stopped Docker Application Container Engine.
Feb 03 11:29:56 10qt.net systemd[1]: docker.service: Start request repeated too quickly.
Feb 03 11:29:56 10qt.net systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 03 11:29:56 10qt.net systemd[1]: Failed to start Docker Application Container Engine.
Feb 03 11:29:57 10qt.net systemd[1]: docker.service: Start request repeated too quickly.
Feb 03 11:29:57 10qt.net systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 03 11:29:57 10qt.net systemd[1]: Failed to start Docker Application Container Engine.

Merci beaucoup :slight_smile:

J’ai lu sur Stackoverflow que la commande dockerd pouvait être plus loquace. En effet, l’extrait suivant est plus parlant : failed to start daemon: error initializing graphdriver: prior storage driver aufs is deprecated and will be removed in a future release; update the the daemon configuration and explicitly choose this storage driver to continue using it; visit https://docs.docker.com/go/storage-driver/ for more information

Ici, j’ai trouvé ce topic qui parle de ce problème, mais la question me semble davantage contournée que résolue.

Logs complets si besoin :

# dockerd
INFO[2023-02-03T16:03:22.123656001+01:00] Starting up                                  
INFO[2023-02-03T16:03:22.125119338+01:00] [core] [Channel #1] Channel created           module=grpc
INFO[2023-02-03T16:03:22.125155744+01:00] [core] [Channel #1] original dial target is: "unix:///run/containerd/containerd.sock"  module=grpc
INFO[2023-02-03T16:03:22.125200486+01:00] [core] [Channel #1] parsed dial target is: {Scheme:unix Authority: Endpoint:run/containerd/containerd.sock URL:{Scheme:unix Opaque: User: Host: Path:/run/containerd/containerd.sock RawPath: OmitHost:false ForceQuery:false RawQuery: Fragment: RawFragment:}}  module=grpc
INFO[2023-02-03T16:03:22.125217776+01:00] [core] [Channel #1] Channel authority set to "localhost"  module=grpc
INFO[2023-02-03T16:03:22.125363341+01:00] [core] [Channel #1] Resolver state updated: {
  "Addresses": [
    {
      "Addr": "/run/containerd/containerd.sock",
      "ServerName": "",
      "Attributes": {},
      "BalancerAttributes": null,
      "Type": 0,
      "Metadata": null
    }
  ],
  "ServiceConfig": null,
  "Attributes": null
} (resolver returned new addresses)  module=grpc
INFO[2023-02-03T16:03:22.125463810+01:00] [core] [Channel #1] Channel switches to new LB policy "pick_first"  module=grpc
INFO[2023-02-03T16:03:22.125554733+01:00] [core] [Channel #1 SubChannel #2] Subchannel created  module=grpc
INFO[2023-02-03T16:03:22.125633721+01:00] [core] [Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING  module=grpc
INFO[2023-02-03T16:03:22.125688628+01:00] [core] [Channel #1 SubChannel #2] Subchannel picks a new address "/run/containerd/containerd.sock" to connect  module=grpc
INFO[2023-02-03T16:03:22.125734794+01:00] [core] [Channel #1] Channel Connectivity change to CONNECTING  module=grpc
INFO[2023-02-03T16:03:22.126195979+01:00] [core] [Channel #1 SubChannel #2] Subchannel Connectivity change to READY  module=grpc
INFO[2023-02-03T16:03:22.126220640+01:00] [core] [Channel #1] Channel Connectivity change to READY  module=grpc
INFO[2023-02-03T16:03:22.127031818+01:00] [core] [Channel #4] Channel created           module=grpc
INFO[2023-02-03T16:03:22.127055472+01:00] [core] [Channel #4] original dial target is: "unix:///run/containerd/containerd.sock"  module=grpc
INFO[2023-02-03T16:03:22.127084873+01:00] [core] [Channel #4] parsed dial target is: {Scheme:unix Authority: Endpoint:run/containerd/containerd.sock URL:{Scheme:unix Opaque: User: Host: Path:/run/containerd/containerd.sock RawPath: OmitHost:false ForceQuery:false RawQuery: Fragment: RawFragment:}}  module=grpc
INFO[2023-02-03T16:03:22.127102314+01:00] [core] [Channel #4] Channel authority set to "localhost"  module=grpc
INFO[2023-02-03T16:03:22.127146477+01:00] [core] [Channel #4] Resolver state updated: {
  "Addresses": [
    {
      "Addr": "/run/containerd/containerd.sock",
      "ServerName": "",
      "Attributes": {},
      "BalancerAttributes": null,
      "Type": 0,
      "Metadata": null
    }
  ],
  "ServiceConfig": null,
  "Attributes": null
} (resolver returned new addresses)  module=grpc
INFO[2023-02-03T16:03:22.127180456+01:00] [core] [Channel #4] Channel switches to new LB policy "pick_first"  module=grpc
INFO[2023-02-03T16:03:22.127201842+01:00] [core] [Channel #4 SubChannel #5] Subchannel created  module=grpc
INFO[2023-02-03T16:03:22.127245615+01:00] [core] [Channel #4 SubChannel #5] Subchannel Connectivity change to CONNECTING  module=grpc
INFO[2023-02-03T16:03:22.127285775+01:00] [core] [Channel #4 SubChannel #5] Subchannel picks a new address "/run/containerd/containerd.sock" to connect  module=grpc
INFO[2023-02-03T16:03:22.127293311+01:00] [core] [Channel #4] Channel Connectivity change to CONNECTING  module=grpc
INFO[2023-02-03T16:03:22.127513927+01:00] [core] [Channel #4 SubChannel #5] Subchannel Connectivity change to READY  module=grpc
INFO[2023-02-03T16:03:22.127537118+01:00] [core] [Channel #4] Channel Connectivity change to READY  module=grpc
ERRO[2023-02-03T16:03:22.129885340+01:00] [graphdriver] prior storage driver aufs is deprecated and will be removed in a future release; update the the daemon configuration and explicitly choose this storage driver to continue using it; visit https://docs.docker.com/go/storage-driver/ for more information 
INFO[2023-02-03T16:03:22.130093130+01:00] [core] [Channel #1] Channel Connectivity change to SHUTDOWN  module=grpc
INFO[2023-02-03T16:03:22.130126147+01:00] [core] [Channel #1 SubChannel #2] Subchannel Connectivity change to SHUTDOWN  module=grpc
INFO[2023-02-03T16:03:22.130144647+01:00] [core] [Channel #1 SubChannel #2] Subchannel deleted  module=grpc
INFO[2023-02-03T16:03:22.130164450+01:00] [core] [Channel #1] Channel deleted           module=grpc
failed to start daemon: error initializing graphdriver: prior storage driver aufs is deprecated and will be removed in a future release; update the the daemon configuration and explicitly choose this storage driver to continue using it; visit https://docs.docker.com/go/storage-driver/ for more information

Bon, j’ai appliqué un truc trouvé ici qui semble fonctionner, mais si un·e expert·e pouvait confirmer que la solution est adaptée à Yunohost, je m’en verrais soulagé :wink:

La solution, donc :

  • suppression du dossier : rm -rf /var/lib/docker (en réalité, pour le moment je ne l’ai que renommé)
  • création de /etc/docker/daemon.json

et y mettre ce contenu :

{
    "graph": "/mnt/docker-data",
    "storage-driver": "overlay2"
}

(j’ai mis overlay2 car c’est ce qui semble conseillé dans la doc). Puis redémarrage du service : service start docker.

Et donc ça semble fonctionner :

service docker status
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset>
     Active: active (running) since Fri 2023-02-03 23:22:00 CET; 29s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 1606549 (dockerd)
     Memory: 34.6M
        CPU: 282ms
     CGroup: /system.slice/docker.service
             └─1606549 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/c>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.