Docker 安装与验证:Windows、macOS 和 Ubuntu 实用步骤
Docker 安装是否成功,不能只看安装程序有没有结束。真正需要确认的是 Docker 客户端能否连上后台的 Engine,并成功启动一个容器。Windows 和 macOS 通常使用 Docker Desktop,Linux 服务器则直接安装 Docker Engine。下面按系统梳理安装前的关键检查、Ubuntu 的安装命令,以及安装后如何验证和排错。
先按操作系统选择安装方式
Windows 和 macOS 的 Docker Desktop 会在后台提供 Linux 环境来运行 Docker Engine。Windows 使用 WSL 2,macOS 使用轻量级 Linux 虚拟机。Linux 可以直接运行 Docker Engine,不需要额外虚拟机;服务器场景应安装 Engine。
Windows 安装前要检查 64 位系统、内存和 CPU 虚拟化。教程列出的系统要求是 Windows 10 22H2(内部版本 19045)或 Windows 11 23H2(内部版本 22631)及以上,至少 8 GB 内存,并且 BIOS 或 UEFI 中已启用虚拟化。可以按 Win + R,输入 winver 查看版本;再到任务管理器的“性能 → CPU”中查看 Virtualization 是否为 Enabled。若未启用,需要在 BIOS 或 UEFI 中打开 Intel VT-x 或 AMD-V(SVM)。
Windows 还需要 WSL 2。以管理员身份打开 PowerShell,首次安装可运行:
wsl --install
已有 WSL 时更新并检查版本:
wsl --update
wsl --version
WSL 版本需要达到 2.1.5 以上,安装或更新后按提示重启。安装 Docker Desktop 时保留 Use WSL 2 instead of Hyper-V(recommended) 选项。首次启动后接受服务条款,等待 Engine 显示正在运行;之后可在 PowerShell、命令提示符或 WSL 终端使用 docker 命令。
macOS 安装前先在“关于本机”确认芯片类型:Apple M 系列选择 Apple Silicon,Intel 处理器选择 Intel chip。打开对应的 Docker.dmg,将 Docker 图标拖到“应用程序”文件夹,再打开 Docker 并按提示授权。菜单栏出现鲸鱼图标且 Engine 正在运行,就可以继续验证。Apple Silicon 上还可安装 Rosetta 2,供部分仅提供 Intel 版本的工具使用:
softwareupdate --install-rosetta
Ubuntu 上安装 Docker Engine
Ubuntu 自带的软件包仓库也有 docker.io 等包,它们可能较旧并与官方版本冲突。先移除旧包;即使没有安装过,这条命令也不会因此出错:
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove -y $pkg; done
接着安装仓库所需工具、准备密钥目录并添加 Docker 官方签名密钥:
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
添加软件包源时,系统会根据当前架构和 Ubuntu 版本代号生成配置:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新索引后,输出中应能看到 download.docker.com。教程实测 Ubuntu 26.04 的代号是 resolute,Ubuntu 24.04 则是 noble。随后安装 Engine、命令行工具、containerd、Buildx 和 Compose 插件:
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker 服务安装后会自动启动,并设置为开机启动。可运行 sudo systemctl status docker 查看状态;active (running) 表示服务处于运行状态。实际安装结果中,教程记录的 Docker Engine 版本是 29.9.0,Compose 是 v5.6.0。版本会随安装包更新,关键是确认需要的组件都已安装。
普通用户权限与安全
Linux 上刚安装完成时,普通用户可能没有访问 Docker API 的权限。典型报错如下:
$ docker ps
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
可以把当前用户加入 docker 组:
sudo usermod -aG docker $USER
需要注销后重新登录,组权限才会生效;也可以运行 newgrp docker 开始使用新组权限。仅运行 usermod 后立刻重试,仍可能遇到相同报错。
这项设置也有安全影响:docker 组成员可以创建挂载整个系统的容器,因此加入该组相当于拥有 root 权限。只应将可信账号加入该组。若只是 Docker 服务没有启动,权限调整并不能解决问题,应检查服务状态并按需启动服务。
用 Client、Server 和 hello-world 验证
先运行 docker version。输出必须同时有 Client 和 Server:Client 是当前使用的命令行工具,Server 是后台 Docker Engine。Windows 和 macOS 的 Client 会显示对应的 Windows 或 macOS 平台,而 Server 位于 Docker Desktop 的 Linux 环境中,因此服务端显示 Linux 是正常的。若 Server 部分是连接错误,通常说明 Engine 尚未运行。
再运行第一个容器:
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
4f55086f7dd0: Pull complete
Digest: sha256:5e23090353324d887c48ad5e5c56d294eab81588df9605b07d1afe895f9cc8f8
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
这说明客户端联系到了 Engine,Engine 拉取镜像并创建容器,随后把容器输出传回终端。输出中首次出现 Unable to find image 并不代表失败,它表示本地还没有该镜像,后续步骤会拉取它。最后可检查 Compose 和 Buildx 是否可用:
$ docker compose version
Docker Compose version v5.6.0
$ docker buildx version
github.com/docker/buildx v0.38.0 0dbe87f36ed472fe36b6796c3f70b4210a731fc5
常见连接问题怎么判断
如果 docker version 没有正常显示 Server,先判断 Engine 是否运行。Windows 和 macOS 上打开 Docker Desktop,等待 Engine running;Linux 上使用 sudo systemctl status docker 检查服务。遇到连接套接字不存在的报错时,通常是 Engine 没有运行,Linux 可以启动并设置开机启动:
sudo systemctl start docker
sudo systemctl enable docker
Linux 报 permission denied while trying to connect to the docker API,则检查当前用户是否已加入 docker 组,以及加入后是否重新登录。Windows 报 WSL 2 安装不完整时,以管理员身份运行 wsl --update,重启后再打开 Docker Desktop。若提示未检测到虚拟化,则回到 BIOS 或 UEFI 启用 CPU 虚拟化。
总结
- Windows 使用 Docker Desktop 和 WSL 2,安装前确认虚拟化已启用且 WSL 版本不低于 2.1.5。
- macOS 根据 Apple Silicon 或 Intel 芯片选择 Docker Desktop 安装包。
- Ubuntu 先移除冲突旧包,再添加官方软件源并安装 Engine、Compose 和 Buildx。
docker version要同时看到 Client 与 Server,hello-world成功输出可进一步确认容器运行链路正常。- Linux 的
docker组权限接近 root,只给可信账号授权。
安装、验证和排错的完整步骤见:Docker 安装教程

浙公网安备 33010602011771号