哈喽小伙们好!我是CSDN猫哥。网上大多数的教程都是讲如何在服务器上装Docker,正式用没问题,但测试期间完全可以在自己的win10系统上部署使用。本教程详细介绍在Windows10企业版系统上使用WSL安装Ubuntu 24.04 LTS ,再在Ubuntu 24.04 系统上安装 Docker 的完整步骤。
WSL介绍
还在windows系统上用虚拟机?既庞大又不够流畅,试试WSL。WSL(Windows Subsystem for Linux)允许你直接在 Windows 上运行 Linux 环境,无需启动虚拟机或双系统。WSL 2 是 WSL 的第二个版本,改进了性能和功能,提供了更接近原生 Linux 的体验。
WSL2 (Windows Subsystem for Linux 2)是微软在Windows 10和Windows 11上引入的一项功能,允许用户在Windows操作系统上运行Linux环境及其相关命令和应用程序,而无需使用虚拟机或安装双系统。WSL2基于 Hyper-V 的轻量级虚拟机,运行完整的Linux内核,提供了更好的性能和更高的兼容性。
有了WSL,可以在上面安装Ubuntu 24.04系统了,再在Ubuntu 24.04上安装Docker的步骤同样也适用于linux服务器环境,包含详细的命令解释、国内镜像源配置和用户权限设置。基于实际测试环境编写,确保每一步都可成功执行!喜欢的小伙伴可以点击收藏。
🖥️ 环境说明
| 项目 | 说明 |
|---|---|
| Win10专业版 | 22H02 |
| WSL系统 | 安装Ubuntu 24.04 |
| SSH工具 | MobaXterm |
| 用户 | root用户 |
| 网络 | 国内网络环境 |
📋 系统要求
- ✅ Win10专业版 /企业版
- ✅ 64位操作系统
- ✅ 至少 2GB RAM
- ✅ 10GB 可用磁盘空间
- ✅ 稳定的网络连接
🔧 前期准备
在Win10系统上安装好WSL环境,并安装Ubuntu 24.04镜像。
关于如何安装WSL环境,参见猫哥的另一篇文章很详细:《在 Windows 10 上安装和使用 WSL 2 安装 Ubuntu24详细指南》
1. 验证当前系统是否安装Docker
安装完成WSL后,可以启动Ubuntu24系统,之后输出以下命令:
bash
docker -v
💡 提示:如果系统未安装Docker,会显示安装建议。推荐使用Docker官方源安装最新版本。

由于我已经安装好了,所以查看到了版本号,版本挺新的。
注: 非常不建议直接使用apt get install docker的方式安装。那样安装的是很老的1.x的版本且很可能安装不成功。推荐按猫哥的教程一步步成功安装最新版docker和docker compose。
2. 更新系统包索引
bash
sudo apt update
⚠️ 注意:安装软件前推荐先执行此命令,确保获取最新版本信息。
3. 卸载旧版本 Docker(如有)
bash
sudo apt remove docker docker-engine docker.io containerd runc
4. 安装必要的依赖包
bash
sudo apt install -y ca-certificates curl
依赖包说明:
- ca-certificates:允许系统信任HTTPS证书,用于安全访问网络源
- curl:命令行工具,用于从网络下载文件
🚀 安装步骤(使用国内镜像源)
步骤1:创建密钥目录
bash
sudo install -m 0755 -d /etc/apt/keyrings
✅ 说明 :
install命令比mkdir和chmod的组合更简洁,-m 0755设置标准权限。
步骤2:下载Docker官方GPG密钥(使用阿里云镜像)
bash
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
curl参数说明:
-f/--fail:服务器错误时静默失败-s/--silent:静默模式,不显示进度条-S/--show-error:失败时显示错误信息-L/--location:自动跟随重定向
🔐 安全说明:GPG密钥用于验证Docker软件包的身份和完整性,确保软件包来自可信源头。
步骤3:更改密钥文件权限
bash
sudo chmod a+r /etc/apt/keyrings/docker.asc
✅ 说明:为所有用户添加可读权限,确保所有用户都能通过密钥验证软件包。
步骤4:添加Docker软件源(使用阿里云镜像)
bash
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
命令解析:
arch=$(dpkg --print-architecture):自动检测系统架构(amd64/arm64)signed-by=/etc/apt/keyrings/docker.asc:指定用于验证的GPG密钥$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}"):获取Ubuntu版本代号stable:使用Docker稳定版发布通道
步骤5:再次更新软件包索引
bash
sudo apt update
⚠️ 必须执行:让APT知道新的Docker源存在并获取可用软件包列表。
步骤6:安装Docker及相关组件
bash
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

组件详细说明:
| 组件 | 功能描述 |
|---|---|
| docker-ce | Docker引擎核心,负责管理镜像、容器、网络和存储卷 |
| docker-ce-cli | Docker命令行工具,用户与Docker引擎交互的客户端 |
| containerd.io | 行业标准容器运行时,负责容器生命周期的底层操作 |
| docker-buildx-plugin | 下一代镜像构建插件,支持多平台构建和并行构建 |
| docker-compose-plugin | 多容器应用管理插件,通过docker-compose.yml定义和运行应用 |

步骤7:验证安装是否成功
bash
docker -v
✅ 成功标志 :成功安装后,会显示Docker版本信息。
步骤8:检查开机自启状态
bash
systemctl is-enabled docker
💡 预期输出 :输出应为
enabled,表示Docker已设置为开机自动启动。
⚙️ 配置国内镜像源(中国用户必备)
⚠️ 重要提醒:国内访问Docker Hub可能受限,建议配置国内镜像源以提升拉取速度。
1. 创建配置文件
bash
sudo vim /etc/docker/daemon.json
2. 添加镜像源配置
json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"http://hub-mirror.c.163.com",
"https://docker.nju.edu.cn"
]
}
推荐镜像源说明:
| 镜像源 | 地址 | 特点 |
|---|---|---|
| DaoCloud镜像站 | https://docker.m.daocloud.io | 国内老牌服务商,稳定可靠 |
| 网易云镜像 | http://hub-mirror.c.163.com | 多节点覆盖 |
| 南京大学镜像站 | https://docker.nju.edu.cn | 支持多种容器仓库 |
3. 重启Docker服务
bash
sudo systemctl restart docker
4. 验证配置
bash
sudo docker info
🔍 查看重点 :查看输出中的
Registry Mirrors部分,确认镜像源已生效。
5. 测试拉取镜像
bash
sudo docker container run hello-world
✅ 成功标志:如果能正常输出"Hello from Docker!"等信息,表明配置成功。
👥 配置用户权限
💡 权限说明:默认情况下,只有root用户和docker组用户才能执行Docker命令。
权限原理说明
Docker守护进程创建Unix套接字文件:/var/run/docker.sock
bash
ls -l /var/run/docker.sock
权限:srw-rw----(docker组具有读写权限)
1. 查看docker用户组
bash
grep docker /etc/group
💡 提示 :如果没有返回结果,可执行
sudo groupadd docker创建用户组。
2. 添加当前用户到docker组
bash
sudo usermod -aG docker $USER
参数说明:
usermod:修改用户属性的命令-aG:追加到附加组$USER:当前用户名
3. 使组权限生效
bash
newgrp docker
⚠️ 替代方案:或者注销重新登录,新的组权限会自动生效。
4. 测试权限
bash
docker images
✅ 成功标志:如果命令正常执行,说明用户权限配置成功。
过程总结

🎯 验证安装和基本使用
1. 验证安装
bash
# 查看版本信息
docker --version
# 查看详细信息
docker info
# 运行测试容器
docker run hello-world
2. 基本命令速查
容器管理:
bash
# 查看运行中的容器
docker ps
# 查看所有容器
docker ps -a
# 停止容器
docker stop CONTAINER_ID
# 启动容器
docker start CONTAINER_ID
# 删除容器
docker rm CONTAINER_ID
# 查看容器日志
docker logs CONTAINER_ID
镜像管理:
bash
# 查看本地镜像
docker images
# 拉取镜像
docker pull IMAGE_NAME
# 删除镜像
docker rmi IMAGE_ID
# 构建镜像
docker build -t IMAGE_NAME .
🐳 Docker Compose 使用
验证Docker Compose安装
bash
docker compose version
💡 注意 :从Docker 20.10版本开始,Compose作为插件集成,使用
docker compose命令。
Docker Compose基本用法
bash
# 启动服务
docker compose up -d
# 停止服务
docker compose down
# 查看服务状态
docker compose ps
# 查看日志
docker compose logs
🔧 高级配置和优化
1. 日志管理配置
创建配置文件限制日志大小:
bash
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"http://hub-mirror.c.163.com",
"https://docker.nju.edu.cn"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
sudo systemctl restart docker
2. 资源限制
运行容器时限制资源使用:
bash
# 限制内存和CPU
docker run -m 512m --cpus="0.5" nginx
# 限制I/O
docker run --device-read-bps /dev/sda:1mb ubuntu
3. 定期清理
bash
# 清理未使用的容器、镜像、卷和网络
docker system prune -a
# 查看Docker磁盘使用情况
docker system df
# 仅清理未使用的容器
docker container prune
# 仅清理未使用的镜像
docker image prune -a
🛠️ 故障排除指南
常见问题及解决方案
1. 权限问题
错误信息 :Got permission denied while trying to connect to Docker daemon
解决方案:
bash
# 检查用户组
groups $USER
# 重新添加用户到docker组
sudo usermod -aG docker $USER
# 立即生效
newgrp docker
2. 无法连接到 Docker 守护进程
错误信息 :Cannot connect to the Docker daemon
解决方案:
bash
# 检查服务状态
sudo systemctl status docker
# 启动服务
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 检查日志
sudo journalctl -u docker -f
3. 镜像拉取失败
错误信息:网络问题导致镜像下载失败
解决方案:
- ✅ 检查网络连接
- ✅ 配置国内镜像加速器
- ✅ 尝试使用代理
- ✅ 检查DNS设置
4. 磁盘空间不足
错误信息 :no space left on device
解决方案:
bash
# 清理未使用的资源
docker system prune -a
# 查看磁盘使用情况
docker system df
# 清理日志文件
sudo find /var/lib/docker -name "*.log" -delete
🗑️ 卸载 Docker(如需要)
完全卸载步骤
bash
# 停止 Docker 服务
sudo systemctl stop docker
sudo systemctl stop containerd
# 卸载 Docker 包
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 删除 Docker 相关文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
# 删除用户配置
rm -rf ~/.docker
清理用户组
bash
# 删除docker用户组(可选)
sudo groupdel docker
🎉 安装完成总结
✅ 成功安装的标志
- Docker引擎已成功安装并配置
- 国内镜像源已配置,提升拉取速度
- 用户权限已配置,无需sudo即可运行Docker命令
- 开机自启已设置
🚀 下一步学习建议
-
学习Docker基础概念
- 镜像(Image)
- 容器(Container)
- 仓库(Repository)
-
掌握常用命令
- 容器生命周期管理
- 镜像构建和管理
- 网络和数据卷配置
-
进阶学习
- Docker Compose多容器编排
- Docker网络配置
- Docker数据管理
- Docker安全性配置
-
实践项目
- 构建自己的Docker镜像
- 部署简单的Web应用
- 使用Docker Compose管理多服务应用
- 使用docker安装pgsql数据库
📚 相关资源
最佳实践
1. 定期清理
bash
# 清理未使用的容器、镜像、卷和网络
docker system prune -a
# 仅清理未使用的容器
docker container prune
# 仅清理未使用的镜像
docker image prune -a
2. 资源限制
bash
# 运行容器时限制资源
docker run -m 512m --cpus="0.5" nginx
3. 日志管理
bash
# 配置日志驱动和大小限制
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
sudo systemctl restart docker
总结
本教程涵盖了在 Windows10上先安装Ubuntu 24.04 系统,再在上面安装和配置 Docker 的完整流程。
包括:
- Win10系统安装WSL环境
- 系统准备和依赖安装
- Docker 的多种安装方法
- 基本配置和验证
- 常用命令和最佳实践
- 故障排除和安全设置
按照本教程操作,您将能够成功在Win10 系统上成功安装并运行 Docker,为容器化应用部署打下坚实基础。遇到任何问题,欢迎留言反馈!
