跳到主要内容

Docker Desktop安装-基于WSL2

·1134 字·3 分钟

前置条件: #

  • Windows 11
  • 已经安装和配置好了WSL2
  • 合格网络环境(代理和小猫咪🐱TUN模式)

配置: #

安装 Docker Desktop #

由于默认是安装在C盘,这里使用以下命令进行自定义路径安装:

cmd:

start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Docker

PowerShell:

Start-Process -FilePath "Docker Desktop Installer.exe" -ArgumentList "install --installation-dir=D:\Docker" -Wait

安装完了之后并打开,使用命令 wsl -l -v会发现多出了一个docker-desktop和之前安装的Ubuntu发行版一起在运行。

额外:在全新安装的 Docker Desktop 4.30 及更高版本中, docker-desktop-data 不再被创建。相反,Docker Desktop 会创建并管理自己的虚拟硬盘用于存储。 docker-desktop 发行版仍然会被创建并用于运行 Docker 引擎。接下来我将以我的4.38.0版本为例。

Docker Desktop与WSL2的Linux发行版集成 #

1、设置Settings -> General -> Use WSL 2 based engine

勾选开启,然后点击Apply & restart应用并重启docker

2、设置Settings -> Resources -> WSL integration

选择需要集成的Linux发行版比如Ubuntu-24.04勾选开启,然后点击Apply & restart应用并重启docker

这时候对应的Linux发行版就能使用docker命令了如docker -v查看docker版本

修改docker在wsl的磁盘镜像 #

Docker Desktop默认安装的wsl2磁盘镜像在C:\Users\[USERNAME]\AppData\Local\Docker\wsl路径下,可以在Settings -> Resources -> Advanced下进行修改目录

设置代理 #

Settings -> Resources -> Proxies填入:

http://localhost:7890

汉化 Docker Desktop(可选) #

DockerDesktop-CN - GitHub

千万不能手贱点更新 #

关闭更新提示和自动更新!

如果发现无法正常使用,建议卸载清空重装

.docker..\AppData\Local\Docker..\username\AppData\Roaming\Docker删除清空

配置存储位置 #

C:\Users\username\AppData\Roaming\Docker\settings-store.json:Docker Desktop 设置

C:\Users\username\AppData\Roaming\Docker Desktop

C:\Users\username\AppData\Local\Docker\log:日志

C:\Users\username\.docker

daemon.json和windows-daemon.json 守护进程配置文件

C:\ProgramData\DockerDesktop

以非 root 用户身份管理 Docker #

添加普通用户到docker

#查看docker组是否存在
getent group docker
#不存在则创建
sudo groupadd docker
#将用户添加到docker组
sudo usermod -aG docker $USER

额外 #

在Windows11下基于WSL安装的 Docker Desktop 中的 volumes (数据卷) 存储实际在:

\\wsl.localhost\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes

也就是 docker-desktop 这个wsl虚拟机中的 /mnt/docker-desktop-disk/data/docker/volumes 目录

而不是在/var/lib/docker/volumes (只安装 Docker Engine)

参考资料 #

WSL 2 上的 Docker 远程容器入门 - Microsoft

在 Windows 上安装 Docker Desktop - DockerDocs

Docker Desktop WSL 2 后端在 Windows 上 - DockerDocs

焕昭君
作者
焕昭君
知行合一,日拱一卒