webentwicklung-frage-antwort-db.com.de

Wie starte ich den Docker-Daemon (Windows-Dienst) beim Start, ohne sich anmelden zu müssen?

Wir haben Docker für Windows in einer Windows Server 2016-Datacenter-Box installiert.

Wir verwenden diese Box als Build-Agent für unsere Docker-Container.

Wenn wir versuchen, über den Daemon eine Verbindung zu dieser Box herzustellen, um einen Container zu erstellen, wird eine Fehlermeldung angezeigt, die angibt, dass der Daemon nicht läuft (am Ende des Beitrags).

Wenn ich jedoch mit meinem AD-Konto login in dieses Feld einlogge, wird der Daemon gestartet, ausgeführt und dann kann ich mich verbinden und alles tun, was ich tun muss.

Gibt es eine Möglichkeit, den Daemon beim Booten zu starten, ohne dass der Benutzer angemeldet sein muss? Der Dienst scheint nur zu laufen, wenn ein Benutzer angemeldet ist.

Fehlermeldung:

error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.37/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=[NameRemovedForPrivacy]&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=[keyRemovedForPrivacy]&shmsize=0&t=[serverNameRemovedForPrivacy]&target=&ulimits=null: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Was ich versucht habe:

  • Verified Docker wurde in den Windows-Diensten aufgeführt und ist so konfiguriert, dass Automatisch gestartet wird. 
  • Einträge im Windows Task Scheduler erstellt, um Docker executable und com.service.docker beim Booten mit angehobenen Privilegien auszuführen.
3

Ich kann eckes ' Kommentar oben bestätigen. Nichts scheint zu funktionieren. Ich war sehr fleißig bei der Einrichtung des Task Schedulers, um unter dem SYSTEM-Benutzer mit erhöhten Berechtigungen usw. ausgeführt zu werden und immer noch kein Glück.

Ich habe eine Lösung gefunden, die Software von Drittanbietern erfordert. Mit der Software AlwaysUp kann Docker beim Start ausgeführt werden, ohne sich anmelden zu müssen. 

Ich habe die Anweisungen befolgt , abgesehen von Docker Tools als ausführbare Datei, zeigte ich auf reference\dockerd.exe. Der Server wurde neu gestartet, und ich kann jetzt wirklich eine Verbindung zu meinem Remote-Daemon herstellen.

Ich empfehle diesen Ansatz als einfachste Lösung. 

0