Lesedauer 2 Minuten

Docker Desktop ist eine fantastische Container-Virutalisierungslösung, extrem schnell, portabel und kostenlos. Doch leider lässt sich Docker Desktop unter Windows 10 nicht als Service installieren. D.h. der Benutzer muss sich zuerst am System anmelden, damit Docker startet.

Das ist ein dann ein Problem, wenn der Server aus irgend einem Grund neu startet. Die Docker-Services stehen dann erst wieder nach Benutzer-Anmeldung zur Verfügung. Dieser Artikel zeigt eine elegante Lösung, ganz ohne Windows Dienste.

Windows: Docker-Desktop ohne Login starten

Der Trick ist nun der, Docker Desktop über die Windows Aufgabenplanung in den Systemstart einzuhängen. Damit das reibungslos funktioniert, muss das Starten der Docker Container so lange warten, bis die Docker Engine gestartet ist. Hierzu benutzen wir das Docker Python SDK.

Zuerst installieren wir hierzu Python, hier Version 2.7.18 von www.python.org

Mit dem folgenden Befehlen installieren wir PIP, den Python Package Manager und das Docker SDK:

Als Nächstes erstellen wir folgendes Python Skript und speichern es unter dem Namen bootstrap-docker.py im gleichen Verzeichnis wie docker-compose.yml.

Danach erstellen wir noch eine Batch-Datei, die das Python-Skript startet:

Nun fehlt nur noch der Eintrag im Windows Aufgabenplaner, mit den folgenden Einstellungen:

  • Ausführung unabhängig von der Systemanmeldung
  • Ausführung mit höchsten Privilegien
  • Ausführung beim Systemstart
  • Als Aktion wird der Pfad zur o.g. Batch-Datei eingetragen.

docker windows service 1 docker windows service 2 docker windows service 3 e1599074667812

Nach Neustart läuft Docker-Desktop samt aller gestarteten Container als Task im Hintergrund, unabhängig von der Benutzeranmeldung.

Es gibt nur einen einzigen Nachteil:

Die Verwaltungsoberfläche von Docker Desktop lässt sich nicht mehr starten, da sie schon unsichtbar im Hintergrund läuft. D.h. das Container-Management muss z.B. über die entsprechenden Docker Shell-Befehle geschehen.

Mein Tipp an dieser Stelle:

VisualStudio Code samt Docker Plugin sind ein mächtiges Tool um alle Aufgaben effizient zu erledigen. Es lässt keine Wünsche offen.

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!