Laden...

ASP.NET Core in Docker -> Image Pull schlägt fehl

Erstellt von Papst vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.726 Views
P
Papst Themenstarter:in
441 Beiträge seit 2014
vor 6 Jahren
ASP.NET Core in Docker -> Image Pull schlägt fehl

Hi,

ich entwickele gerade eine ASP Net Core Applikation, die in Docker als Windows Container laufen soll.
Wenn ich das Image dann aus meiner Container Registry pullen will schlägt dies mit dem Fehler "The system cannot find the path specified." während des extrahierens fehl.
Allerdings tritt dies nur unter Windows Server 2016 mit Docker EE auf, nicht unter Docker CE auf meiner Entwicklungsmaschine oder eine Windows 10 Entwicklungsmaschine in Azure auf.

Alles was ich in den Docker issues o.ä. gefunden habe war nie Image Spezifisch und die Punkte (Bitlocker, Antivirus, etc..) habe ich auch alle erfolglos durch, bevor ich das ganze einmal auf einer Windows 10 Maschine getestet habe.

Hat schon einmal jemand ein ähnlich gelagertes Problem gehabt oder eine Idee, wo ich hier ansetzen könnte?

16.842 Beiträge seit 2008
vor 6 Jahren

Docker EE ist doch noch 17.06 als Stable; da gibt's aber noch keine Windows Container.
Du wirst wohl die EE-Preview brauchen, wenn mich nicht alles täuscht.

Zudem ist es bei den Windows Images auch leider so, dass das Image kompatibel zur Windows Version des Servers sein muss.

Und Side by Side (also Windows und Linux Container zeitgleich auf Windows Server) gibt es auch noch nicht; nicht mal in der Preview.

P
Papst Themenstarter:in
441 Beiträge seit 2014
vor 6 Jahren

Hi,

vielleicht habe ich dann etwas falsch interpretiert oder wiedergegeben.
Installiert habe ich dieses: https://store.docker.com/editions/enterprise/docker-ee-server-windows
Eine Version steht auf der Webseite nicht dabei, ich kann aber morgen mal die Versionsnummern des installierten auslesen, da ich neu installiert habe sollte hier aber der aktuelle Stable installiert sein.

Das, was ich ausdrücken wollte ist: Es funktioniert problemlos mit dem Windows 10 und dem "Docker for Windows", welches auf der Docker Store seite als "CE" bezeichnet wird, allerdings nicht mit dem als "EE" bezeichneten für Windows Server 2016.

Da das Image ausschließlich unter Windows laufen soll habe ich bisher nicht probiert das Image als Linux Version zu erstellen, geschweige denn laufen zu lassen.

Edit:
Wie stelle ich so eine Kompatibilität her?
Mein Image baut sich vom Grund her wie folgt auf:
-> Basis Layer ist microsoft/aspnetcore:2.0
-> ENV Layer
-> Für Windows, published ASP Net Core 2.0 App

Edit #2:
Kopf -> Tisch... Danke für den Ansatz.. es gab ja vor ein paar Tagen ein Docker Update, allerdings nicht für die Windows Server Version vermute ich mal.
Vielleicht kommt die inkompatibilität da her.

16.842 Beiträge seit 2008
vor 6 Jahren

Docker CE hat eine andere Roadmap als Docker EE.
CE ist stable 17.09 und EE 17.06

Das letzte Update für CE war kein Feature Update sondern nur ein Patch.

Man kann auch alles online ausprobieren:
https://labs.play-with-docker.com/
https://microsoft.play-with-docker.com/

Aber scheinbar geht doch mit 17.06 das Windows Image.
In den Labs als Windows Container läuft das Sample einwandfrei durch.

PS C:\> docker --version
Docker version 17.06.1-ee-2, build 8e43158
PS C:\> docker container run hello-world:nanoserver
Unable to find image 'hello-world:nanoserver' locally
nanoserver: Pulling from library/hello-world
bce2fbc256ea: Already exists
4806a44e00a0: Pull complete
4678e98675fa: Pull complete
3694e728ef64: Pull complete
Digest: sha256:5074a29e6b40ef34302f36bb10848bbcaffa021b89b50a201587df24fdff892e
Status: Downloaded newer image for hello-world:nanoserver

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (windows-amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run a Windows Server container with:
 PS C:\> docker run -it microsoft/windowsservercore powershell

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/
P
Papst Themenstarter:in
441 Beiträge seit 2014
vor 6 Jahren

Moin,

bei mir war es tatsächlich die Docker Version am Client, mit der ich die Images gebaut habe.

Ich bin jetzt auf meinem Entwicklungsrechner zurück auf 17.06.2-ce gegangen und habe das gleiche image neu gebaut. Es ließ sich wunderbar aus der Registry pullen und läuft problemlos.