Docker/Windows
< Docker
Windows
Windows Containers GitHub
Github microsoft/Windows-Containers https://github.com/microsoft/Windows-Containers
Install Docker Community Edition
Docker Community Edition (CE) provides a standard runtime environment for containers with a common API and command-line interface (CLI). It is managed by the open source community as part of the Moby Project.
Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1" -o install-docker-ce.ps1 .\install-docker-ce.ps1
src:
https://raw.githubusercontent.com/microsoft/Windows-Containers/Main/helpful_tools/Install-DockerCE/install-docker-ce.ps1
---
Get started: Prep Windows for containers https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=dockerce
Docker Engine on Windows https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon
Install Docker Community Edition (CE) reference:
Prepare Windows operating system containers | Microsoft Learn https://learn.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=dockerce#windows-server-1
Windows Test Image
Hello World:
docker run hello-world:nanoserver
Something more ambition - try run powershell:
docker run -it mcr.microsoft.com/windows/servercore:ltsc2022 powershell
Config
C:\programdata\docker\config\daemon.json
Isolation
Windows Server Containers use Hyper-V isolation by default on Windows 10 and 11 to provide developers with the same kernel version and configuration that will be used in production.
Switch to Windows Containers
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon .
Service
See service:
sc qc docker
Service is running as: docker
C:\WINDOWS\system32\dockerd.exe --run-service --service-name docker
Add a Docker Group to allow normal users to manage docker: (run as administrator)
net localgroup docker-users /add
Add user to group:
net localgroup docker-users [USER] /add
Update service to use docker-users group:
# -G, --group string Group for the unix socket (default "docker") sc config docker binPath="C:\WINDOWS\system32\dockerd.exe --run-service --service-name docker -G docker-users"
sc config docker binPath="C:\Windows\System32\dockerd.exe --run-service --config-file=C:\ProgramData\docker\config\daemon.json"
Restart service:
net stop docker net start docker
See updated service:
C:\> sc qc docker
[SC] QueryServiceConfig SUCCESS
SERVICE_NAME: docker
TYPE : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\WINDOWS\system32\dockerd.exe --run-service --service-name docker -G docker-users
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : Docker Engine
DEPENDENCIES :
SERVICE_START_NAME : LocalSystem
daemon.json option:
C:\ProgramData\docker\config\daemon.json
{
"registry-mirrors": ["https://internal-docker-mirror:6609"],
"group": "docker-users",
"debug": true,
"hosts": ["npipe://", "tcp://0.0.0.0:2375"],
"experimental": false,
"exec-opts": ["isolation=process"],
"max-concurrent-downloads": 100,
"max-concurrent-uploads": 100,
"data-root": "C:\\docker_data",
"storage-opts" : [ "size=200G" ]
}
</rpre>
Moby Project
Moby Project
https://mobyproject.org/
What is Moby?
Moby is an open framework created by Docker to assemble specialized container systems without reinventing the wheel. It provides a “lego set” of dozens of standard components and a framework for assembling them into custom platforms.
Uninstall Docker
See https://learn.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon
Docker in WSL
See Docker/Docker in WSL
keywords