Docker 安装与踩坑全记录
2026年6月27日 docker 7 分钟阅读 1 次阅读
📖 文章摘要
路漫漫其修远兮,吾将上下而求索
环境
- 本地电脑: Windows 10 Pro(版本 19045)
- 学习服务器: 腾讯云 Ubuntu 22.04
一、Windows Docker Desktop 安装(踩坑篇)
下载安装
从 https://docs.docker.com/desktop/setup/install/windows-install/ 下载 Docker Desktop for Windows,安装包很大,下载完成后双击安装。
装完后验证版本:
docker --version
# Docker version 29.5.3, build d1c06ef
踩坑 1:WSL 报错
双击打开 Docker Desktop 后弹窗报错:
There was a problem with WSL
An error occurred while running a WSL command.
Docker Desktop 默认使用 WSL2(Windows Subsystem for Linux)作为后端来跑 Linux 容器。WSL 没配置好就会报这个错。
踩坑 2:wsl --install 卡住不动
微软的 WSL 下载源在国内很慢,不开代理几乎下不动。解决方案:
# 开 Clash 代理后执行
$env:HTTPS_PROXY="http://127.0.0.1:7897"
wsl --install -d Ubuntu
踩坑 3:WSL 安装报错 0x80070005
错误代码 0x80070005 表示没有管理员权限。PowerShell 必须以管理员身份运行才能安装 WSL。
踩坑 4:WSL 内核更新
# 可能需要手动更新 WSL2 内核
wsl --update --web-download
wsl --set-default-version 2
踩坑 5:Docker Engine 一直 Starting
即使 WSL 装好了,Docker Desktop 也可能卡在 "Starting the Docker Engine" 界面,超过 5 分钟都没反应。
此时检查 WSL 状态:
wsl -l -v
# NAME STATE VERSION
# Ubuntu Stopped 2
需要手动启动 WSL:
wsl -d Ubuntu
最终结论
在 Windows 上装 Docker Desktop 非常折腾,尤其是:
- WSL 依赖 Windows 版本和系统组件(Win10 19045 支持不好)
- 国内网络下载微软源慢
- 各种底层组件需要逐个排查
真正的 Docker 使用场景 99% 在 Linux 服务器上,Windows 只是开发环境。如果条件允许,直接在 Linux 上装 Docker 学习效率高得多。
二、Linux 服务器安装 Docker(成功篇)
环境
- Ubuntu 22.04 LTS(腾讯云服务器)
- 腾讯云内网镜像源(速度极快)
步骤
1. 添加 Docker APT 源
# 添加 GPG 密钥
curl -fsSL https://mirrors.tencentyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker 软件源
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tencentyun.com/docker-ce/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新源
sudo apt update
2. 安装 Docker
sudo apt install docker-ce docker-ce-cli containerd.io -y
3. 验证安装
docker --version
# Docker version 29.6.1, build 8900f1d
4. 免 sudo 运行 Docker(可选)
sudo usermod -aG docker $USER && newgrp docker
5. 配置镜像加速(国内服务器必备)
sudo mkdir -p /etc/docker
echo '{"registry-mirrors":["https://mirror.ccs.tencentyun.com","https://docker.xuanyuan.me"]}' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker
6. 最终测试
docker run hello-world
看到 Hello from Docker! 即表示安装成功。
三、Docker 核心概念速览
镜像(Image) vs 容器(Container)
| 概念 | 类比 | 说明 |
|---|---|---|
| 镜像(Image) | 安装包 / ISO 文件 | 只读模板,包含应用和依赖环境 |
| 容器(Container) | 运行中的程序 | 镜像的实例,可读可写,可启动停止 |
打个比方:
- 镜像是类(Class) — 定义了应用长什么样
- 容器是对象(Object) — 真正跑在内存里的实例
常用命令
# 查看本地镜像
docker images
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 拉取镜像
docker pull nginx
# 运行容器
docker run nginx
# 停止容器
docker stop 容器ID
# 删除容器
docker rm 容器ID
# 删除镜像
docker rmi 镜像名
镜像加速原理
Docker Hub 在国外(registry-1.docker.io),国内服务器直接拉取会超时。配置 registry-mirrors 后,Docker 会先从国内镜像站拉取,镜像站缓存了常用镜像,速度极快。
四、经验总结
- Windows Docker Desktop 坑多 — 依赖 WSL2,WSL 又依赖 Windows 版本、网络环境,一环出问题就整个不好使。不适合初学者。
- Linux 装 Docker 是正道 — 一行
apt install的事,这才是真实场景。 - 国内服务器必须配镜像加速 —
registry-mirrors配置腾讯云或阿里云加速,否则拉镜像必超时。
最后更新:2026年7月2日CC BY-NC-SA 4.0
评论
暂无评论,来写第一条吧
