Docker Container unter Windows betreiben - nur ein Vierzeiler

Du möchtest den Desktop oder die Apps schick machen? Deine Apps starten nicht oder lassen sich nicht installieren?
Antworten
KaiM
Insider
Insider
Beiträge: 148
Registriert: 22.01.2024, 15:23
Hat sich bedankt: 25 Mal
Danke erhalten: 1 Mal

Docker Container unter Windows betreiben - nur ein Vierzeiler

Beitrag von KaiM » 20.05.2024, 09:58

Hallo Experten,

kann ich wirklich Docker Container unter Windows 10/11 ohne WSL bzw. WSL2 betreiben?
Docker wird von Windows 10/11 direkt unterstützt?

https://www.trion.de/news/2022/07/26/do ... ndows.html
Docker und native Windows Container auf Windows-Server

Neben der typischen Windows-Server Virtualisierung via Hyper-V lassen sich leichtgewichtige Windows Container betreiben und via docker CLI verwalten.

Dazu sind lediglich einige Features zu installieren (Powershell mit Admin-Rechten):

> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
> Install-Package -Name docker -ProviderName DockerMsftProvider
> Restart-Computer -Force

Der Docker-Daemon kann nun als System-Dienst gestartet werden:

> Start-Service Docker
trion.de Hierbei handelt es sich wohlgemerkt nicht um einen virtualisierten Linux-Container, sondern um echtes natives Windows!

Code: Alles auswählen

> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
> Install-Package -Name docker -ProviderName DockerMsftProvider
> Restart-Computer -Force

> Start-Service Docker
Sieht ja sehr einfach und sehr "schlank" aus.
Ein Vierzeiler und das Dockern geht los?

vgk

So einfach ist es wohl doch nicht, ich komme nicht zum Erfolg.
https://www.linkedin.com/pulse/how-make ... ntent-card

Fehlermeldung:

Code: Alles auswählen

PS C:\Windows\system32> Install-Module -Name DockerMsftProvider
PS C:\Windows\system32> Install-package -name docker -providername DockerMsftProvider -Verbose -Force
AUSFÜHRLICH: Für die angegebenen Suchkriterien und den Anbieternamen
"DockerMsftProvider" wurde keine Übereinstimmung gefunden. Führen Sie
"Get-PackageProvider -ListAvailable" aus, um festzustellen, ob der
Anbieter im System vorhanden ist.
AUSFÜHRLICH: Finding the package 'Bootstrap::FindPackage'
'DockerMsftProvider','','0.0.0.1','''.
Install-package : Es wurden keine Paketanbieter (DockerMsftProvider)
gefunden.
In Zeile:1 Zeichen:1
+ Install-package -name docker -providername DockerMsftProvider -Verbos
...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (Microsoft.Power....Insta
   llPackage:InstallPackage) [Install-Package], Exception
    + FullyQualifiedErrorId : UnknownProviders,Microsoft.PowerShell.Pack
   ageManagement.Cmdlets.InstallPackage

PS C:\Windows\system32>

https://www.powershellgallery.com/packa ... er/1.0.0.6

https://github.com/PowerShell/PowerShel ... issues/652

https://learn.microsoft.com/en-us/virtu ... s-server-1

https://learn.microsoft.com/en-us/virtu ... s=dockerce

LOESUNG (Hyper-V muss aktiviert sein)

https://github.com/microsoft/Windows-Containers

https://github.com/microsoft/Windows-Co ... ker-ce.ps1
Script https://raw.githubusercontent.com/micro ... ker-ce.ps1

Code: Alles auswählen

PS C:\Windows\system32> C:\Users\medion\Documents\install-docker-ce.ps1
C:\Users\medion\Documents\install-docker-ce.ps1 : Die Datei "C:\Users\medion\Documents\install-docker-ce.ps1" kann nicht
geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Weitere Informationen finden Sie unter
"about_Execution_Policies" (https:/go.microsoft.com/fwlink/?LinkID=135170).
In Zeile:1 Zeichen:1                                                                                                           + C:\Users\medion\Documents\install-docker-ce.ps1                                                                              + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                  + CategoryInfo          : Sicherheitsfehler: (:) [], PSSecurityException                                                       + FullyQualifiedErrorId : UnauthorizedAccess
PS C:\Windows\system32> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Ausführungsrichtlinie ändern
Die Ausführungsrichtlinie trägt zum Schutz vor nicht vertrauenswürdigen Skripts bei. Wenn Sie die Ausführungsrichtlinie
ändern, sind Sie möglicherweise den im Hilfethema "about_Execution_Policies" unter
"https:/go.microsoft.com/fwlink/?LinkID=135170" beschriebenen Sicherheitsrisiken ausgesetzt. Möchten Sie die
Ausführungsrichtlinie ändern?
[J] Ja  [A] Ja, alle  [N] Nein  [K] Nein, keine  [H] Anhalten  [?] Hilfe (Standard ist "N"): J
PS C:\Windows\system32> C:\Users\medion\Documents\install-docker-ce.ps1
Enabling Hyper-V containers by default for Client SKU
Querying status of Windows feature: Containers...
Feature Containers is already enabled.
Querying status of Windows feature: Hyper-V...
Feature Hyper-V is already enabled.
DOCKER default
Checking Docker versions
Downloading https://download.docker.com/win/static/stable/x86_64/docker-26.1.3.zip to C:\Users\medion\DockerDownloads\docker-26.1.3.zip
Installing Docker... C:\Users\medion\DockerDownloads\docker-26.1.3\docker\docker.exe
Installing Docker daemon... C:\Users\medion\DockerDownloads\docker-26.1.3\docker\dockerd.exe
Configuring the docker service...
Waiting for Docker daemon...
Successfully connected to Docker Daemon.
The following images are present on this machine:
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

Script complete!
PS C:\Windows\system32>
Docker

Code: Alles auswählen

PowerShell 7.4.2
PS C:\Windows\System32> docker version
Client:
 Version:           26.1.3
 API version:       1.45
 Go version:        go1.21.10
 Git commit:        b72abbb
 Built:             Thu May 16 08:34:37 2024
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          26.1.3
  API version:      1.45 (minimum version 1.24)
  Go version:       go1.21.10
  Git commit:       8e96db1
  Built:            Thu May 16 08:33:14 2024
  OS/Arch:          windows/amd64
  Experimental:     false

Mein Problem

Code: Alles auswählen

PS C:\Windows\System32> docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

PS C:\Windows\System32> docker run hello-world
docker: Error response from daemon: hcs::CreateComputeSystem e996740e357e333fa805171cf54e510bfb006f7a7a6cc43a44d3846b4996a92e: 
Der virtuelle Computer konnte nicht gestartet werden, da ein erforderliches Feature nicht installiert ist.
PS C:\Windows\System32>

Liegt es daran, weil das Guest Windows 11 System in Virtualbox läuft und ich Hyper-V im Host Windows 11 System abgestellt habe?


Edit 21.05.2024
https://forums.docker.com/t/cant-start- ... d/133977/7

Tante Google

Docker Container unter Windows betreiben - nur ein Vierzeiler

Beitrag von Tante Google » 20.05.2024, 09:58


KaiM
Insider
Insider
Beiträge: 148
Registriert: 22.01.2024, 15:23
Hat sich bedankt: 25 Mal
Danke erhalten: 1 Mal

Re: Docker Container unter Windows betreiben - nur ein Vierzeiler

Beitrag von KaiM » 02.06.2024, 06:29

WSL vergleich WSL2
https://www.ionos.de/digitalguide/serve ... rgestellt/
Während der Funktionsumfang der vom WSL1 bereitgestellten Linux-Schnittstelle eingeschränkt war,
kommt mit WSL2 ein kompletter Linux-Kernel zum Einsatz.
Dabei handelt es sich um einen in Bezug auf Größe und Leistung speziell für das WSL2 optimierten Kernel, basierend auf dem stabilen Original-Code von „kernel.org“. Im praktischen Einsatz schlägt sich der Ansatz in einer Beschleunigung der Code-Ausführung um einen Faktor von ca. zwei bis zwanzig nieder. Ferner benötigt WSL2 weniger Arbeitsspeicher als die Vorgängerversion. Besonders komfortabel für Nutzer ist der Umstand, dass der Kernel im Rahmen der regulären Windows-Updates gewartet wird.

Da das WSL1 eine Übersetzungsschicht nutzt, um zwischen Linux- und Windows-Systemaufrufen zu vermitteln, bleibt manche spezialisierte Linux-Software außen vor.

Demgegenüber leistet die Kernel-Virtualisierung des WSL2 vollständige Kompatibilität von Systemaufrufen.
In der Praxis bedeutet dies, dass sich auch komplexe Software wie Docker innerhalb von WSL2 betreiben lässt. Ferner erfolgt aus der Linux-Umgebung heraus Zugriff auf die GPU, was sich vor allem bei Anwendungen mit großen Datasets wie Machine Learning und Data Science bezahlt macht.
Bild

WSL1 der das "wine von Linux für Windows"

+++++++
+++++++



How to Install Alpine Linux in WSL in Windows | Run Alpine Linux on Windows WSL
https://www.youtube.com/watch?v=cNVF3yQrtMQ

Code: Alles auswählen

https://github.com/bonben365
Script
https://github.com/bonben365/powershell/tree/main/Linux
https://raw.githubusercontent.com/bonben365/linux/main/docker-install.sh
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

How to Install Alpine Linux on Windows 11 WSL 2 | Alpine Linux Installation Guide on Windows
Bemerkung: WSL2 muss zuvor installiert sein!
https://www.youtube.com/watch?v=nWVkxqeo8RM

Code: Alles auswählen

Installation Steps:
1. Install WSL 2 on Windows 11 using [ wsl --install ]
2. Update WSL kernel [ wsl --update ]
3. Install Alpine Linux on WSL using Microsoft Store
4. Update Alpine Linux on WSL 2
5. Install Neofetch on Alpine Linux on WSL 2
OT
Windows Subsystem für Linux 2 unter Microsoft Windows 10 installieren https://contabo.com/blog/de/wsl-2-unter ... tallieren/

Ach herje https://mathema-engineering.de/mathema/ ... atenmengen




Hallo DMler,

was ist der schnellste Wege um Docker Container mit Windows 11 zu nutzen?

vgk

Antworten