docker.desktop,一个强大的跨平台的图形化容器管理工具
docker.desktop,一个强大的跨平台的图形化容器管理工具
阅读原文
建议阅读原文,始终查看最新文档版本,获得最佳阅读体验:
介绍
Docker Desktop 是官方提供的跨平台图形化容器管理工具,适用于 Windows、macOS 和 Linux,集成了 Docker 引擎、Docker CLI、Kubernetes、Volume 管理器、网络配置和图形化界面,支持开发者快速构建、运行和测试容器化应用。它简化了本地容器环境的安装与配置过程,适合用于开发、测试、调试和 DevOps 工作流。在 Windows 和 macOS 上,Docker Desktop 通过虚拟化技术(如 WSL2 或 Hyper-V)提供 Linux 容器运行环境。
官方网站
安装docker.desktop
Windows系统
在安装docker.desktop之前,先安装wsl 2
#注意:电脑(CPU)需要支持虚拟化,才能正常安装使用wsl。国内运行此命令容易报错,因为网络不稳定,建议使用proxy
wsl --install
Windows系统上安装docker.desktop很简单,一条命令搞定
winget install --id Docker.DockerDesktop --source winget
linux(ubuntu desktop)
#我这里设置的阿里云的仓库,因为中国大陆访问官方的仓库非常不稳定
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# step 2: 信任 Docker 的 GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Step 3: 写入软件源信息
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
#下载deb包
wget https://desktop.docker.com/linux/main/amd64/docker-desktop-amd64.deb
#开始安装docker-desktop
sudo apt-get update
sudo apt-get install ./docker-desktop-amd64.deb -y
#Add your user to the kvm group in order to access the kvm device:
sudo usermod -aG kvm $USER
#可以通过命令启动docker-desktop,也可以直接通过GUI方式启动,注意:下行的命令要求在Linux桌面环境下运行,否则是看不到任何界面的,若是想通过ssh来启动docker desktop(能利用mobaxterm打开docker desktop图形界面),请继续看下文的docker desktop CLI部分
systemctl --user start docker-desktop

启动docker.desktop
直接双击桌面上的图标即可启动docker.desktop

正常启动后,是下面这个界面,如果有更新,界面右下角会提示,建议始终使用最新版本。

使用docker
安装完docker.desktop后,可以用图形界面拉取容器镜像,运行容器,也可以直接用命令,我习惯使用命令。
例如,在Powershell中,利用docker命令拉取一个容器镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/n8nio/n8n:1.102.3

配置docker.desktop
配置proxy
docker.desktop支持proxy配置,配置后,docker容器都会通过proxy上网,这个配置只会对docker和docker容器生效,不应影响系统中其它应用。
注意:默认情况下,docker.desktop是通过系统proxy上网的。可以手动配置,具体操作如下:
配置非常简单:

docker desktop CLI(无图形界面的情况下管理docker desktop)
官方文档:Docker Desktop CLI | Docker Docs
介绍
有时候我们既想要用docker desktop,但是又希望能通过命令的方式管理docker desktop,比如安装了ubuntu desktop操作系统,但是平时都是通过ssh远程连接的,不方便打开图形界面,这时,CLI就能起到作用了。
The Docker Desktop CLI lets you perform key operations such as starting, stopping, restarting, and updating Docker Desktop directly from the command line.
The Docker Desktop CLI provides:
Simplified automation for local development: Execute Docker Desktop operations more efficiently in scripts and tests.
An improved developer experience: Restart, quit, or reset Docker Desktop from the command line, reducing dependency on the Docker Desktop Dashboard and improving flexibility and efficiency.
用法Usage
docker desktop COMMAND [OPTIONS]
命令Commands
| Command | Description |
|---|---|
start |
Starts Docker Desktop |
stop |
Stops Docker Desktop |
restart |
Restarts Docker Desktop |
status |
Displays whether Docker Desktop is running or stopped. |
engine ls |
Lists available engines (Windows only) |
engine use |
Switch between Linux and Windows containers (Windows only) |
update |
Manage Docker Desktop updates. Available for Mac only with Docker Desktop version 4.38, or all OSs with Docker Desktop version 4.39 and later. |
logs |
Print log entries |
disable |
Disable a feature |
enable |
Enable a feature |
version |
Show the Docker Desktop CLI plugin version information |
kubernetes |
List Kubernetes images used by Docker Desktop. Available with Docker Docker version 4.44 and later. |
For more details on each command, see the Docker Desktop CLI reference.
用CLI启动docker desktop
我是用mobaxterm远程连接到ubuntu desktop主机的,其本身就支持X-forwarding
docker desktop start
如下图所示,直接在Windows系统打开了远程ubuntu主机的docker desktop界面,然后就可以进行设置和管理了。我这边不知何故,还有一部分显示在了另外一个扩展屏上,而且我发现无法用鼠标拖动,不知是bug,还是我电脑的问题。

故障诊断
importing WSL distro "当前计算机配置不支持 WSL2。请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化
在Windows11系统中启动docker.desktop报错:
deploying WSL2 distributions
ensuring main distro is deployed: deploying "docker-desktop": importing WSL distro "当前计算机配置不支持 WSL2。\r\n请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。\r\n通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution\r\n有关信息,请访问 https://aka.ms/enablevirtualization\r\n错误代码: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED\r\n" output="docker-desktop": exit code: 4294967295: running WSL command wsl.exe C:\WINDOWS\System32\wsl.exe --import docker-desktop <HOME>\AppData\Local\Docker\wsl\main C:\Program Files\Docker\Docker\resources\wsl\wsl-bootstrap.tar --version 2: 当前计算机配置不支持 WSL2。
请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution
有关信息,请访问 https://aka.ms/enablevirtualization
错误代码: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED
: exit status 0xffffffff
checking if isocache exists: CreateFile \wsl$\docker-desktop-data\isocache\: The network name cannot be found.
这种情况通常都是因为电脑不支持虚拟化,或者BIOS上没有启用虚拟化支持。还有一种可能,就是docker.desktop和wsl 2是安装在虚拟机中的,宿主机可能不支持嵌套虚拟化,或者没有启用嵌套虚拟化。
我就遇到过这个问题,我电脑安装的是Windows11 24H2系统,CPU确定是支持虚拟化和嵌套虚拟化的,但是hyper-v虚拟机出现了上述报错,我查阅资料,发现是hyper-v虚拟机没有启用嵌套虚拟化,如何对某个hyper-v虚拟机启用嵌套虚拟化呢?很简单,用下行Powershell命令即可:
get-vm #此命令可以查询当前宿主机中总共有哪些hyper-v虚拟机
Set-VMProcessor -VMName "win11" -ExposeVirtualizationExtensions $true #此命令启用指定虚拟机的嵌套虚拟化功能,注意:在执行命令之前,一定要先关闭此虚拟机
再次开启虚拟机,可以在虚拟机中的任务管理器中验证是否已经成功启用了嵌套虚拟化:
如果虚拟化的值为“已启用”,则说明已成功启用了嵌套虚拟化,如果是已禁用或者没有看到“虚拟化”这一项,说明没有启用嵌套虚拟化。

open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.
如果运行docker命令报错,如下所示:
error during connect: Post "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.51/images/create?fromImage=swr.cn-north-4.myhuaweicloud.com%2Fddn-k8s%2Fdocker.io%2Fn8nio%2Fn8n&tag=1.102.3": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.
这是因为没有开启docker.desktop,启动docker.desktop,再次运行docker命令,就正常了。
可以设置开机自启动,以防自己忘记开启docker.desktop

关于作者和DreamAI
关注微信公众号“AI发烧友”,获取更多IT开发运维实用工具与技巧,还有很多AI技术文档!

Docker Desktop是跨平台图形化容器管理工具,支持多系统,集成多种功能。介绍了其安装(Windows需先装WSL2,Linux用阿里云仓库)、启动、使用、配置代理、CLI管理及故障诊断方法。

浙公网安备 33010602011771号