Docker konnte nicht gestartet werden

Docker konnte nicht gestartet werden

Heute habe ich ein Problem mit Docker. Es hat aufgehört und ich kann es nicht starten

 systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2020-01-28 09:59:03 +0330; 1min 51s ago
     Docs: https://docs.docker.com
  Process: 2327 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=205/LIMITS)
 Main PID: 2327 (code=exited, status=205/LIMITS)

Jan 28 09:59:03 example.com systemd[1]: Starting Docker Application Container Engine...
Jan 28 09:59:03 example.com systemd[1]: docker.service: main process exited, code=exited, status=205/LIMITS
Jan 28 09:59:03 example.com systemd[1]: Stopped Docker Application Container Engine.
Jan 28 09:59:03 example.com systemd[1]: Unit docker.service entered failed state.
Jan 28 09:59:03 example.com systemd[1]: docker.service failed.

Ich sehe, dass ich status=205/LIMITSmich erinnere, dass ich vor 3 Tagen ulimitdie Konfigurationen geändert habe

# /etc/security/limits.d/custom.conf

root soft nofile 1000000
root hard nofile 1000000
* soft nofile 1000000
* hard nofile 1000000
# /etc/sysctl.conf

fs.file-max = 1000000
fs.nr_open = 1000000

Ich habe die fd auf 1 Million erhöht, nach dem Rückgängigmachen der Änderungen wurde Docker erfolgreich gestartet

Was genau ist hier das Problem??

Antwort1

status=205/LIMITSbedeuten einen dieser GrenzwerteLimitCPU=, LimitFSIZE=, LimitDATA=, LimitSTACK=, LimitCORE=, LimitRSS=, LimitNOFILE=, LimitAS=, LimitNPROC=, LimitMEMLOCK=, LimitLOCKS=, LimitSIGPENDING=, LimitMSGQUEUE=, LimitNICE=, LimitRTPRIO=, LimitRTTIME=

Ich bin mir über Ihre Betriebssystemversion nicht sicher, aber als Beispiel für Ubuntu 16: Erstellen Sie diese Datei, /etc/systemd/system/docker.service.d/customexec.conffalls sie nicht mit dem folgenden Inhalt vorhanden ist.

[Service]
LimitNOFILE=1000000

Laden Sie neusystemctl daemon-reload

Das Docker-Paket hat ein Limit gesetzt, das höher ist als unser neues Limit, sodass der Prozess nicht gestartet werden konnte. Sie können es also unten versuchen, wenn die obige Option für Sie nicht funktioniert.

sysctl -w fs.nr_open=1048576

verwandte Informationen