2016-05-27 3 views
0

Ich starte den Docker-Daemon mit -H fd:// in der Shell, und es ist ein Fehler. Das Betriebssystem ist CentOS7.Docker-Daemon -H Fd: // Fehler in der Shell

# docker daemon -H fd:// 
FATA[0000] No sockets found 

Ich kann mit systemctl start docekr beginnen.

# cat /etc/systemd/system/docker.service.d/docker.conf 
[Service] 
ExecStart= 
ExecStart=/usr/bin/docker daemon -H fd:// 
# ps -ef|grep docker 
/usr/bin/docker daemon -H fd:// 

Im admin guide, heißt es

Auf Systemd basierten Systemen Sie mit dem Daemon über Systemd Buchse Aktivierung kommunizieren können, verwenden Docker Daemon -H fd: //. Die Verwendung von fd: // funktioniert perfekt für die meisten Setups, aber Sie können auch einzelne Sockets angeben: docker daemon -H fd: // 3. Wenn die angegebenen Socket-aktivierten Dateien nicht gefunden werden, wird Docker beendet. Sie finden Beispiele für die Verwendung der Systemd Socket-Aktivierung mit Docker und Systemd in der Docker-Quellstruktur.

Also kann ich -H fd:// in der Shell nicht verwenden?

Antwort

0

Zum Starten von Docker Daemon bedeutet fd://, dass es von Systemd gestartet wird und der abhörende Socket von Systemd erstellt und an den Docker-Dämon übergeben wird. Wenn Sie also versuchen, es vom Terminal aus zu verwenden, wird es fehlschlagen, weil Sie keinen Socket erstellen und ihn an den Docker-Daemon übergeben. Für docker cli, können Sie es auf die gleiche Weise mit tcp Protokoll verwenden, wenn Sie TCP-Buchse hören.

Ich habe eine ähnliche Frage bei https://stackoverflow.com/a/43408869/1000254 beantwortet, können Sie für weitere Details verweisen.