User Tools

Site Tools


apps:docker:dockerdesktopforwindows

This is an old revision of the document!


Docker Desktop for Windows

FIXME FIXME FIXME

Configuration

Docker Daemon

%UserProfile%\.docker\daemon.json

Default configuration as of Docker Desktop for Windows version 4.30.0 (2024-06-06).

daemon.json
{
 "builder": {
  "gc": {
   "defaultKeepStorage": "20GB",
   "enabled": true
  }
 },
 "experimental": false
}

The default log driver is json-file. All the lines that are written to the stdout/console are saved to a json file. The log file is created at the same time the container is created and will grow until the container gets deleted. This can lead to disks getting full. To prevent this situations, log rotation can be configured.

daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

Together with the default configuration, it looks like this.

daemon.json
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

WSL2

%UserProfile%\.wslconfig
[experimental]
autoMemoryReclaim=gradual
 
 
[wsl2]
memory=24GB
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
[experimental]
autoMemoryReclaim=gradual

WSL Distributions

List Distributions

wsl -l -v
Example
PS C:\> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  docker-desktop         Running         2
wsl -d docker-desktop
PS C:\> wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  docker-desktop         Running         2

PS C:\> wsl -d docker-desktop
DESKTOP-4D1F8L4:/#

Shrink VHDX

“%LOCALAPPDATA%\Docker\wsl\data\ext4.vhdx” (“C:\Users\xxx\Docker\wsl\data\ext4.vhdx” “%LOCALAPPDATA%\Docker\wsl\main\ext4.vhdx” (“C:\Users\xxx\Docker\wsl\main\ext4.vhdx”)

Optimize-VHD -Path “C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhdx” -Mode Full Optimize-VHD -Path “C:\Users\xxx\AppData\Local\Docker\wsl\main\ext4.vhdx” -Mode Full

PS C:\> Get-Item C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhdx


    Directory: C:\Users\xxx\AppData\Local\Docker\wsl\data


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        04/06/2024     15:29   210780553216 ext4.vhdx


https://learn.microsoft.com/en-us/powershell/module/hyper-v/optimize-vhd?view=windowsserver2022-ps

PS C:\> Optimize-VHD -Path c:\test\dynamic.vhdx -Mode Full
PS C:\> Optimize-VHD -Path c:\test\dynamic.vhdx -Mode Retrim


PS C:\> wsl --shutdown

PS C:\> Optimize-VHD C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhdx  -Mode Full


PS C:\> Get-Item C:\Users\xxx\AppData\Local\Docker\wsl\data\ext4.vhdx


    Directory: C:\Users\xxx\AppData\Local\Docker\wsl\data


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        04/06/2024     16:04    17706254336 ext4.vhdx






apps/docker/dockerdesktopforwindows.1718058135.txt.gz · Last modified: 2024-06-11 00:22 by Manuel Frei