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/LIMITS
mich erinnere, dass ich vor 3 Tagen ulimit
die 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/LIMITS
bedeuten 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.conf
falls 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