App Notes / 2026 ・ No.01
Docker Desktop 使用指南
作用与原理、界面操作、与同类应用的区分,以及用好它的基础知识
发布
本博客新开了「软件」分类,每次挑一款常用应用,对照界面介绍用法。
第一篇是开发者的必备工具 Docker Desktop。
本文所有界面都是笔者在自己的 Mac 上实际操作截取的,并在要操作的位置标上了 ①②③。
从作用与原理、基本概念、各界面的用法、与同类应用的区分,到用好它的技巧,依次来看。
Docker Desktop 是什么
Docker Desktop 是在 Mac・Windows・Linux 电脑上使用 Docker 的「一站式」应用,由 Docker 公司开发。安装之后,从运行容器的引擎、命令行到图形界面(仪表盘)一应俱全。
「容器」是把应用和它运行所需的东西(操作系统组件、库、配置)打包在一起的箱子。因为是整箱运行,在谁的电脑上、在服务器上都能同样运行。容器本身的概念,在开发指南的Docker 入门与实战里有详细介绍。本文讲的是在自己电脑上使用 Docker 的应用。
Docker Desktop 的组成
无论是在界面上点按钮,还是在命令行输入命令,最终都送到同一个 Docker Engine。用哪种方式操作,结果都一样
- Docker Engine ── 实际运行容器的核心,与服务器 Linux 上用的是同一个
- 一整套命令 ── docker、一次运行多个容器的 docker compose、构建镜像的 docker buildx、Kubernetes 用的 kubectl 等
- 仪表盘 ── 本文介绍的界面:容器・镜像・数据卷的列表与操作、查看日志、设置
- 其他 ── 单机即可试用的 Kubernetes、检查漏洞的 Docker Scout、扩展、AI 助手 Gordon、运行 AI 模型的 Model Runner 等
它的前身是 2016 年推出的「Docker for Mac」和「Docker for Windows」。在那之前,要在 Mac 或 Windows 上用 Docker,得自己准备虚拟机。让它装上就能用是这款应用的起点,后来统一改名为 Docker Desktop,并增加了 Linux 版。
Docker Desktop 的作用是「让自己的电脑立刻成为能跑容器的开发环境」,并且把看不见的容器状态在界面上呈现出来。它不是用来在生产服务器上运行的。
原理:后台运行着一个小型 Linux
容器本来依靠 Linux 内核(操作系统核心)的功能运行。Mac 和 Windows 的内核没有这种机制,所以 Docker Desktop 在后台运行一个小型 Linux 虚拟机,在里面运行 Docker Engine 和容器。
各操作系统的原理
Mac 的虚拟机类型可在 设置 > General 中选择。Docker VMM 是以提速为目标的新方式,撰写时仍是测试版
了解这个原理,下面这些现象就都说得通了。
- 占用内存和磁盘 ── 因为后台跑着一整台 Linux。上限可在设置中决定(第九章)
- 读写电脑上的文件夹有时较慢 ── 因为文件要在电脑和虚拟机之间传递(第十三章)
- 无法直接访问容器的 IP 地址 ── 因为容器在虚拟机内部的网络里。要从外部访问,需要「发布端口」(第三章)
- 在 Apple 芯片的 Mac 上,Intel 镜像较慢 ── 虚拟机里是 ARM 版 Linux,Intel(amd64)镜像要靠模拟运行
用好它要懂的基本概念
进入界面操作之前,先掌握 Docker 的几个基本概念。理解了这些,界面上什么在哪里也就自然明白了。
镜像・容器・端口・数据卷
| 概念 | 含义 | 打个比方 |
|---|---|---|
| 镜像 | 把应用和运行环境打包在一起的只读文件集合 | 菜谱加食材的套装 |
| 标签 | 镜像的版本名,即 nginx:stable-alpine 中的「stable-alpine」。省略时为 latest | 菜谱的版本 |
| 镜像仓库 | 存放镜像的地方。代表是 Docker Hub,也可以放在公司内部 | 菜谱图书馆 |
| 容器 | 由镜像创建的、运行中(或已停止)的实体。一个镜像可以创建任意多个 | 做好的菜 |
| 层(Layer) | 镜像由多层叠成。相同的层可以共用,所以第二次起又快又省空间 | 共用的备菜 |
| 端口发布 | 把电脑的端口(例 8080)连到容器的端口(例 80)。-p 8080:80 | 店门口的指引 |
| 数据卷 | 删除容器后仍然保留的数据存放处,由 Docker 管理 | 冰箱 |
| 绑定挂载 | 把电脑的文件夹直接给容器看 | 借出家里的柜子 |
| 网络 | 连接容器之间的虚拟局域网。同一网络内可以用名字互相访问 | 厨房内线电话 |
| Dockerfile | 写明镜像如何构建的文本 | 菜谱本身 |
| Compose | 把多个容器的组合写进 compose.yaml,一起运行的机制 | 套餐的菜单 |
其中最重要的是「容器是一次性的」这个意识。写进容器内部的数据,会在删除容器时一起消失。要保留的数据,就放进数据卷或绑定挂载。这个区别在第八章还会再看。
获取与费用(许可)
Docker Desktop 从官网(docker.com)下载。Mac 版分 Apple 芯片和 Intel 两种安装包。
| 系统 | 主要条件(撰写时的官方文档) |
|---|---|
| Mac | 最新版 macOS 及之前两个大版本。内存 4GB 以上。打开 Docker.dmg,把 Docker 拖进「应用程序」文件夹后启动 |
| Windows | Windows 10(22H2 以上)/ Windows 11(23H2 以上)64 位。使用 WSL 2 或 Hyper-V。需在 BIOS/UEFI 中启用虚拟化。内存 8GB |
| Linux | 提供面向 Ubuntu・Debian・Fedora 等主流发行版的安装包 |
需要注意的是费用。Docker Desktop 并不是谁都能免费使用。
| 使用者 | 费用 |
|---|---|
| 个人・教育・非商业开源项目 | 免费(Personal) |
| 员工少于 250 人 且 年收入低于 1,000 万美元的公司 | 免费(Personal) |
| 规模更大的公司・政府机构的工作用途 | 需要付费方案。Pro(按年付每人每月 9 美元)、Team(同 15 美元)、Business(同 24 美元) |
登录并非必需。本文的界面也是在未登录的 Personal 状态(左上角显示「PERSONAL」)下截取的。登录后,从 Docker Hub 拉取镜像的次数限制会放宽一些。
在公司使用时,务必确认规模条件(250 人・1,000 万美元)。只有「两项都低于」时才免费。费用和条件可能变化,导入前请到官网确认最新内容。不符合条件时,第十二章介绍的同类应用也可以作为候选。
界面全貌
启动后会打开如下界面(仪表盘)。随时也可以从菜单栏的鲸鱼图标打开。
| 菜单 | 能做什么 |
|---|---|
| Gordon | 向 AI 助手提问(第十一章) |
| Containers | 容器的列表・启动・停止・删除,查看日志和文件 |
| Images | 本地镜像的列表・删除,检查漏洞 |
| Logs | 汇总查看所有容器的日志 |
| Volumes | 数据卷的列表・创建・查看内容 |
| Kubernetes | 创建单机运行的 Kubernetes(需要时才用) |
| Builds | 镜像构建的历史、耗时和日志 |
| Models / MCP Toolkit | 运行 AI 模型,以及给 AI 接入工具的机制(第十一章) |
| Docker Hub | 查找公开镜像并拉取・启动 |
| Extensions | 扩展(附加的界面和工具) |
用法①:查找镜像并启动
先来运行 Web 服务器 nginx。全程不输入一条命令。
按下 Run,镜像拉取完成后容器就会启动,并切换到容器详情界面(文首的图片)。在浏览器打开 http://localhost:8080,显示了「Welcome to nginx!」页面。这就确认了电脑的 8080 端口 → 容器的 80 端口已经连通。
选择镜像时,要选带有「Docker Official Image」(官方)或「Verified Publisher」(认证发布者)标志的。因为任何人都能发布镜像,名字相似的未必是同一个东西。另外,标签最好固定版本而不是用 latest,这样不用担心内容在不知不觉中改变。
用法②:操作容器
运行起来的容器会出现在 Containers 界面。这台 Mac 上还有别的容器,所以用搜索栏按名称做了筛选。
容器有它的「生命周期」。按钮和命令的关系如下图。
容器的生命周期与按钮・命令
「已停止」的容器并没有消失,里面的数据也还在,按 ▶ 就能再次运行。只有「删除」才会消失
点击容器名称会打开详情界面,这是 Docker Desktop 中最常用的界面。
| 标签 | 能看到什么 | 使用场景 |
|---|---|---|
| Logs | 容器输出的信息 | 启动失败・报错时首先看这里 |
| Inspect | 环境变量・端口・网络等配置内容 | 确认配置是否符合预期 |
| Bind mounts | 挂载的电脑文件夹 | 看不到文件时确认 |
| Exec | 容器内部的 shell(终端) | 进入容器输入命令 |
| Files | 容器内部的文件 | 阅读・取出配置文件 |
| Stats | CPU・内存・磁盘・网络用量 | 找出占资源多的容器 |
用法③:镜像与数据卷
拉取的镜像会出现在 Images 界面。一个镜像可能有几百 MB,积攒多了会挤占磁盘。不用的就在这里删除。
Docker Scout 的分析会生成镜像内软件包的清单(SBOM),再与已知漏洞比对。「有漏洞」并不等于「马上危险」,但标有「Fixable(已有修复版本)」的,大多换成新版本的镜像就能解决,定期看一看会更安心。
接下来是数据的存放位置。三种存放方式的区别如下图。
数据放在哪里
在界面上建好的数据卷,实际挂到容器上要通过命令(docker run -v)或 Compose 配置来完成。可以把界面理解为「列出、查看内容、不用了就删除」的地方。
用法④:设置
点右上角的齿轮打开设置。首先要看的是 Resources(资源)。
| 设置 | 位置 | 参考・要点 |
|---|---|---|
| CPU・内存上限 | Resources > Advanced | 从电脑内存的一半左右开始。运行重型数据库时调高。不够时容器会突然停止 |
| 磁盘上限 | Resources > Advanced | 存放镜像和数据卷的虚拟磁盘大小 |
| 文件共享 | Resources > File sharing | 允许容器访问的文件夹。确认项目文件夹在其中 |
| 代理 | Resources > Proxies | 通过公司代理拉取镜像时 |
| 登录时启动 | General | 每天用就打开,偶尔用就关闭以节省内存 |
| 虚拟机类型 | General(Mac) | 拿不准就保持默认(Apple 虚拟化) |
| 自动更新 | Software updates | 几乎每周都有新版本。团队需要统一版本时改为手动 |
| Kubernetes | Kubernetes | 只在需要时启用。开启后会一直占用内存 |
Docker Engine 界面面向进阶用户。例如使用镜像加速(替代的拉取源)、给日志文件大小设上限等,都写在这里。修改前先把原内容记下来,万一无法启动也能马上恢复。
界面与命令的对应
界面上能做的事,用命令都能做。先在界面上学会,熟练后再转向命令,就能把步骤留在文档或脚本里。把前面的操作写成命令如下。
# ① 拉取镜像(界面的 Pull) docker pull nginx:stable-alpine # ② 指定名称和端口后启动(界面的 Run) docker run -d --name kiji-web -p 8080:80 nginx:stable-alpine # ③ 容器列表(Containers 界面。加 -a 包括已停止的) docker ps -a # ④ 查看日志(Logs 标签。-f 持续跟踪) docker logs -f kiji-web # ⑤ 进入容器(Exec 标签) docker exec -it kiji-web sh # ⑥ 创建数据卷(Volumes 界面的 Create) docker volume create kijidata # ⑦ 清理(删除按钮) docker rm -f kiji-web docker volume rm kijidata docker image rm nginx:stable-alpine # ⑧ 查看磁盘用量・清理不用的资源 docker system df docker system prune
组合多个容器时使用 Compose(写法见Docker 入门与实战第六章起)。用 docker compose up 启动后,Containers 界面会按项目名归在一起,可以一起停止或删除。
AI 相关的新功能
最近一两年,Docker Desktop 陆续加入了与 AI 有关的功能。按左侧菜单从上往下看。
| 功能 | 能做什么 |
|---|---|
| Gordon | 熟悉 Docker 的 AI 助手:排查错误原因、编写・审查 Dockerfile、规划清理不用的镜像等。也可以在命令行使用,还能从容器列表每行的机器人图标调用 |
| Model Runner | 像拉取镜像一样拉取 AI 模型(大语言模型等)并在本地运行。需先在 设置 > AI 中启用 |
| MCP Toolkit(测试版) | 从目录中挑选 MCP(给 AI 助手接入外部工具的机制)服务器,以容器形式运行 |
这些都很新,测试版功能也多,界面和名称容易变化。让 Gordon 读取项目文件夹时,要意识到其中的内容会发送给 AI 服务,事先确认公司的代码能否这样使用。在本地运行 AI 模型的方法,也可以参考开发指南的在本地环境运行大模型。
与同类应用的区分
能在本地运行容器的应用不只 Docker Desktop。它们都使用同样格式(OCI)的镜像,所以中途换用也不难。
| 应用 | 系统 | 费用・许可 | 适合的人 |
|---|---|---|---|
| Docker Desktop | Mac・Win・Linux | 个人・小公司免费,大公司付费 | 看重资料多、团队统一和官方支持 |
| Rancher Desktop | Mac・Win・Linux | 免费(Apache 2.0,SUSE) | 想要免费的图形界面,也想轻松用 Kubernetes(k3s)。引擎可选 containerd 或 dockerd |
| Podman Desktop | Mac・Win・Linux | 免费(Apache 2.0) | 想用没有常驻守护进程、无需 root 权限的 Podman。Red Hat 系环境 |
| OrbStack | 仅 Mac | 个人免费,工作需付费(每人每月 8 美元) | 在 Mac 上最看重轻量、速度和启动快 |
| Colima | Mac・Linux | 免费(MIT) | 不需要界面,只用命令行就够 |
| Apple 的 container | Mac(Apple 芯片,macOS 26) | 免费(Apache 2.0) | 想试试每个容器用一个轻量虚拟机的 Apple 原生新方式 |
| Docker Engine(直接安装) | Linux | 免费(开源) | 服务器或 Linux 电脑,无需虚拟机 |
选哪个(参考)
另外,在 Windows 上也可以把 Linux 版 Docker Engine 直接装进 WSL 2。这样免费,但需要自己处理与 Windows 一侧的配合(文件共享、启动等)。
用好它的技巧与故障处理
- 定期清理磁盘 ── 镜像、已停止的容器、不用的数据卷和构建缓存会越积越多。用 docker system df 看明细,用 docker system prune 清理(只有加 --volumes 时才会删除数据卷)
- 在 Apple 芯片的 Mac 上选 ARM 版镜像 ── 大多数官方镜像两种都有,会自动选择。只有 Intel 版时可用 --platform linux/amd64 运行,但较慢
- 源代码共享慢的时候 ── 把 node_modules 等大量小文件放进数据卷。也可以使用付费方案的 Synchronized file shares
- 从容器访问电脑上的服务 ── 用 host.docker.internal 而不是 localhost。容器里的 localhost 指的是容器自己
- 出现「port is already allocated」时 ── 该端口被别的应用或容器占用。换个端口(例 8081:80),或停掉占用的一方
- 无法启动・行为异常时 ── 先从右上角的「?」(Troubleshoot)选「Restart」。不行就收集诊断信息(也可用 docker desktop diagnose)
- 只装可信的扩展 ── 设置界面也警告「扩展以主机权限运行」。扩展能读写文件、操作 Docker Engine,安装前要确认来源
- 统一版本 ── 团队使用时统一 Docker Desktop 和 Compose 的版本,并把版本写进操作手册
Troubleshoot 中的「Clean up data」会在保留设置的同时删除所有容器和镜像;「Reset to factory defaults」会连设置一起恢复到刚安装时的状态。放在数据卷里的重要数据(如开发用数据库)也可能丢失,执行前务必先备份。
结 — 一页总结
- Docker Desktop 是在电脑上使用 Docker 的一站式应用,引擎・命令行・界面・Kubernetes・漏洞检查・AI 助手一应俱全。
- 在 Mac 和 Windows 上,后台运行着一个小型 Linux 虚拟机。内存・磁盘・速度方面的困扰,大多源于此。
- 基本概念是镜像(模板)・容器(实体)・端口(入口)・数据卷(不会丢的存放处)。容器是一次性的,要保留的数据放进数据卷。
- 在界面上只需在 Docker Hub 查找 → 选标签按 Run → 设定名称和端口就能启动。详情界面的日志・Exec・Files 可以查看内部,所有操作也都有对应的命令。
- 个人和小公司免费,大公司需付费。视条件和喜好,也可以选择 Rancher Desktop・Podman Desktop・OrbStack・Colima 等。
参考
- Docker Docs — Docker Desktop
- Docker Docs — Docker Desktop release notes
- Docker Docs — Install Docker Desktop on Mac
- Docker Docs — Install Docker Desktop on Windows
- Docker Docs — Virtual Machine Manager for Docker Desktop on Mac
- Docker Docs — Docker Desktop license agreement
- Docker — Pricing
- Docker Docs — Explore networking how-tos on Docker Desktop
- Docker Docs — Troubleshoot Docker Desktop
- Rancher Desktop
- Podman Desktop
- OrbStack Docs — Licensing
- GitHub — abiosoft/colima
- GitHub — apple/container
界面于 2026 年 10 月 17 日在笔者 Mac(Apple 芯片)上的 Docker Desktop 4.89.0(Docker Engine 29.7.2,Compose v5.5.0)中截取。撰写时的最新版本是 4.95.0(2026 年 10 月 12 日),不同版本的界面可能略有差异。为避免拍到其他容器和镜像,列表都用搜索栏做了筛选。费用・许可・运行条件依据 2026 年 10 月时的官网和官方文档。同类应用的比较和选择图为笔者整理的参考。
软件笔记 No.1 — Docker Desktop 使用指南 / 2026.10