Docker Windows abgeschaltet
« | 16 Sep 2023 | »Ich wollte einfach nur einen Windows Build Server
mit Docker neu aufsetzen.
Doch Microsoft hat ihren offiziellen MsftDockerProvider
vom Netz genommen.
An dieser Stelle war man Aufschrei in ganz Wien zu hören. Zum Glück ist die
Alternative das Moby
Projekt, welches Docker für Windows Server weiter unterstützt.
Bisherige Installation von Docker
Bisher wurde Docker auf Windows Servern mit
eingerichtet. Die Prozedur lud die entsprechenden Pakete aus dem Netz und installierte den Docker Dienst im Windows System. Doch nun sehen wir Fehler wie:
1WARNING: MSG:UnableToDownload https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409 2WARNING: Unable to download the list of available providers. Check your internet connection. 3WARNING: Cannot find path 4'C:\Users\ADMINI~1\AppData\Local\Temp\2\DockerMsftProvider\DockerDefault_DockerSearchIndex.json' 5because it does not exist. 6WARNING: Cannot bind argument to parameter 'downloadURL' because it is an empty string. 7WARNING: The property 'AbsoluteUri' cannot be found on this object. Verify that the property exists. 8WARNING: The property 'RequestMessage' cannot be found on this object. Verify that the property exists. 9Install-Package : No match was found for the specified search criteria and package name 'docker'. 10Try Get-PackageSource to see all available registered package sources.
Früher lag offenbar unter
https://dockermsft.azureedge.net/dockercontainer/DockerMsftIndex.json
die notwendige Information, wo die Daten heruntergeladen werden konnte,
doch das ist nun abgeschaltet, wie man auf
GitHub von MicrosoftDockerProvider
nachlesen kann.
Das bedeutet: Ab sofort kann man Docker Enterprise für Windows Server nicht mehr regulär installieren.
Alternative: Das Moby Projekt
Wer Enterprise-Support braucht, kann die Mirantis Container Runtime nutzen … und darf dafür auch extra zahlen.
Und wer einfach nur seine Buildumgebung wieder zum Laufen bekommen will, kann das OpenSource Projekt Moby nutzen, welches die Docker Dienste ohne den Unternehmens-Support zum Download zur Verfügung stellt.
Man hat dann zwar nur eine AS IS
Software ohne Garantien, kann sich aber
die Quellen sichern und im Notfall den Dienst auch selbst bauen.
Die Sourcen und Releases liegen auf github.com/moby/moby
Installation der Moby Docker Container Runtime
Nachdem das Windows Container
Feature aktiviert ist, lädt man sich am
einfachsten ein Installationsscript für die Powershell herunter, das
die aktuellen Binärdateien herunterlädt und in C:\Windows\System32\
installiert.
Sonderfall Windows Server 2016
Die aktuellen Moby Builds funktionieren erst ab Server 2019. Unter älteren
Windows Version verweigert der aktuelle dockerd.exe
seinen Dienst.
Man kann sich allerdings auch unter
download.docker.com/win/static/stable/x86_64/
eine ältere Version der Runtime herunterladen, z.B.: v20.10.24.
Danach muss man die beiden Programme docker.exe
und dockerd.exe
aus der
ZIP Datei einfach nach C:\Windows\System32
kopieren und hat danach auch unter
Server 2016 wieder einen funktionalen Docker Dienst.
Fazit
Pfui Microsoft! Das konntet ihr schon mal besser!
Wenn ich an Windows eines geschätzt habe, dann war das seine zuverlässige Kompatibilität und der lange Support von Software. Selbst heute erhalte ich noch über WSUS alle Windows XP und Windows 2000 Updates, was für Industriemaschinen immer noch notwendig sein kann.
Dass gerade Docker einfach mal so abgedreht wird, ist nicht akzeptabel. Man hätte die alten Binaries liegen lassen können und nur für Neuinstallationen auf die Alternativen verweisen können.
Wenn gleich das Moby Projekt sicher toll ist, so ist der mit dem
Server mitgekaufte Enterprise-Support plötzlich weg … und was
passiert jetzt, wenn ein Kunde hierfür ein Anliegen hat?
Dann wird es unerwartet teuer.
Ich überlege jetzt trotzdem, ob ich nicht meine laufenden Windows Server mit der “alten” Docker Installation jetzt dupliziere und per SysPrep für spätere Neuinstallationen konserviere.
In jedem Fall kostet mich dieser Umstand jetzt sowohl in der Firma wie auch privat jede Menge wertvolle Zeit.