当前位置: 首页 > news >正文

【Docker】Windows Docker 完全入门指南:从安装到实战的全流程记录

🐳 Windows Docker 完全入门指南:从安装到实战的全流程记录

本文完整记录了一位 Docker 新手在 Windows 系统下的学习历程,包含所有踩坑经历和解决方案,基于 2025 年真实环境验证,适合零基础读者参考。

📖 文章目录

  • 初始状态与目标
  • 学习路径导图
  • 详细操作与问题记录
  • 常用命令速查表
  • 总结与建议
  • 附录:国内镜像地址

🔍 一、初始状态与目标

初始困惑

  • 安装了 Docker Desktop 但界面空空如也
  • 不知道如何打开 Docker 命令行
  • 想配置镜像加速但找不到位置
  • 没有创建容器的入口,完全不知道从何入手

学习目标

  • 成功打开 Docker 命令行并验证安装
  • 配置镜像加速解决网络问题
  • 拉取并运行 Nginx、MySQL、CentOS 等常用镜像
  • 掌握基本的容器操作命令

🧭 二、学习路径导图

Docker Desktop 已安装
打开命令行验证
配置镜像加速
网络问题排查
使用国内镜像仓库
配置代理
离线导入镜像
拉取基础镜像
运行容器实战
Nginx Web服务
MySQL数据库
CentOS系统
端口映射验证
常见问题修复

📦 三、详细操作与问题记录

✅ 1. 打开 Docker 命令行

真实问题

不知道怎么开打命令窗口

解决方案

  • Win + R 打开运行窗口
  • 输入 powershellcmd
  • 在打开的命令行中输入:
docker --version

验证成功

Docker version 27.0.3, build 7d4bcd8

**[插入图片位置:PowerShell中运行docker --version的截图]**

🌐 2. 配置镜像加速的曲折历程

第一次尝试 - 使用传统镜像加速器:

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://registry.docker-cn.com"]
}

结果:全部失效,出现连接错误

第二次尝试 - 更换镜像源:

{"registry-mirrors": ["https://hub-mirror.c.163.com","https://mirror.baidubce.com"]
}

结果:仍然失败,需要外网环境

最终认知(2025年现状):

镜像源类型状态说明
传统镜像加速器❌ 全部失效网易、百度、阿里云、清华等均已停服
国内镜像仓库⚠️ 部分可用需直接指定完整仓库地址
代理方案✅ 稳定可用需要本地代理客户端
离线导入✅ 绝对可靠适合内网、无外网环境

在这里插入图片描述

🐢 3. 拉取镜像的实战记录

(1)Nginx 镜像拉取与运行

可用地址

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.26.1-alpine

在这里插入图片描述

给镜像打短标签(省得每次敲长名)

docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.26.1-alpine nginx:alpine

以后本地就用 nginx:alpine 即可,例如:

运行命令

docker run -d -p 8080:80 --name web nginx:alpine

在这里插入图片描述

遇到的问题:80端口被禅道占用

http://127.0.0.1 浏览器运行这个之后是禅道的页面

在这里插入图片描述

解决方案:改用8080端口

docker stop web && docker rm web
docker run -d -p 8080:80 --name web nginx:alpine

在这里插入图片描述

验证成功:访问 http://localhost:8080 看到 Nginx 欢迎页面

**[插入图片位置:浏览器显示Nginx欢迎页面的截图]**

(2)MySQL 数据库服务

注:在pull msql之前需要先把Nginx服务关闭,不然MySQL 8.0 镜像很可能会拉取失败。原因分析:“开着 Nginx,pull MySQL 镜像失败”,也可能不是 Nginx 本身直接导致的,而是端口冲突或系统资源/网络配置问题。

可用地址

docker pull docker.m.daocloud.io/mysql:8.0

本地打短标签,省得以后敲长名

docker tag docker.m.daocloud.io/mysql:8.0 mysql:8.0

运行命令

docker run -d --name my-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0

在这里插入图片描述
连接验证

docker exec -it my-mysql mysql -uroot -p123456
(3)CentOS 系统环境

可用地址

docker pull docker.m.daocloud.io/centos:centos7

在这里插入图片描述
本地打短标签

docker tag docker.m.daocloud.io/centos:centos7 centos:7

运行命令

docker run -it --rm centos:7 bash

成功进入

[root@b5f065a2301 /]#

❌ 4. 常见错误与修复方案

错误1:Unable to find image 'xxx' locally

完整错误信息

Unable to find image 'ubuntu:latest' locally

原因分析:本地没有镜像,Docker 尝试从远程拉取但网络连接失败

解决方案对比表

方案操作适用场景
国内镜像仓库直接使用完整仓库地址拉取有基础网络但无法访问Docker Hub
配置代理Docker Desktop → Settings → Proxies本地已有代理客户端
离线导入docker load -i xxx.tar完全无外网、内网环境
错误2:500 Internal Server Error

完整错误信息

request returned 500 Internal Server Error for API route and version 
http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/version

在这里插入图片描述

原因分析:Docker Desktop 的 WSL 2 后端崩溃

修复步骤

步骤命令说明
1. 关闭Docker任务栏右键 → Quit完全退出
2. 停止WSLwsl --shutdown关闭所有子系统
3. 注销发行版wsl --unregister docker-desktop清理损坏的环境
4. 注销数据wsl --unregister docker-desktop-data清理数据(镜像会丢失)
5. 重启Docker重新启动Docker Desktop自动重建环境

Docker Desktop崩溃时的状态截图

**[插入图片位置:Docker Desktop崩溃时的状态截图]**
注:如果以上还是不能解决,就只能试着卸载重装了
附:安装教程:Windows 安装docker(详细图解)

错误3:端口冲突

现象:访问 http://localhost 显示其他服务页面(如禅道)

解决方案

  • 查看端口占用:netstat -ano | findstr ":80"
  • 更改映射端口:-p 8080:80(宿主机端口:容器端口)

🧩 四、常用命令速查表

任务命令示例
查看镜像docker imagesdocker images
查看容器docker psdocker ps -a(查看所有)
运行容器docker rundocker run -d -p 80:80 nginx
停止容器docker stopdocker stop my-nginx
启动容器docker startdocker start my-nginx
删除容器docker rmdocker rm my-nginx
查看日志docker logsdocker logs -f web
进入容器docker execdocker exec -it centos bash
导入镜像docker loaddocker load -i nginx.tar
导出镜像docker savedocker save nginx -o nginx.tar
查看端口docker portdocker port web

🧠 五、总结与建议

🎯 学习成果总结

通过这个完整的学习过程,你已经掌握了:

  1. 基础操作:Docker 命令行使用、镜像拉取、容器运行
  2. 网络配置:镜像加速、代理设置、端口映射
  3. 服务部署:Nginx Web服务器、MySQL数据库、CentOS系统环境
  4. 故障排查:网络问题、端口冲突、服务崩溃等常见错误的解决方法

🚀 后续学习建议

学习方向推荐内容难度
容器编排Docker Compose 多服务编排⭐⭐
镜像构建Dockerfile 编写与镜像构建⭐⭐⭐
数据持久化数据卷(Volume)与挂载⭐⭐
网络进阶自定义网络、容器互联⭐⭐⭐
生产部署Docker Swarm / Kubernetes⭐⭐⭐⭐

💡 给新手的实用建议

  1. 起步阶段:先掌握基础命令,不要急于学习高级特性
  2. 网络问题:国内环境优先考虑代理或国内镜像仓库方案
  3. 数据安全:重要数据一定要使用 Volume 持久化
  4. 资源管理:定期清理无用镜像和容器释放磁盘空间

📎 六、附录:国内镜像地址(2025年10月验证)

镜像可用地址提供商
Nginxswr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nginx:1.26.1-alpine华为云
MySQLdocker.m.daocloud.io/mysql:8.0DaoCloud
CentOSdocker.m.daocloud.io/centos:centos7DaoCloud
Redisdocker.m.daocloud.io/redis:alpineDaoCloud
Ubuntuswr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ubuntu:22.04华为云

Docker生态系统示意图:该图取自网络
在这里插入图片描述


版权声明:本文基于真实学习经历整理,所有问题和解决方案均经过实践验证。欢迎分享,但请注明出处。

http://www.dtcms.com/a/449082.html

相关文章:

  • 从零开始的C++学习生活 4:类和对象(下)
  • 温州做网站优化网站设计培训
  • 18网站推广关于旅行的网站怎样做
  • 做网站赚钱还是企业宣传片推广方案万能模板
  • 视频分享网站怎么做的注册营业执照需要什么资料
  • 网站建设教程赚找湖南岚鸿认 可php无版权企业网站管理系统
  • 建立网站站点的目的一个主机可以做几个网站域名
  • 封面上的网站怎么做网站模块设计软件
  • 网站制作还花钱电子商务网站建设及推广方案论文
  • 淮南服装网站建设地址如何做虚拟币交易网站
  • 网站建设规划表乐清网站建设lonwap
  • 网站开发创业计划书模板网上能免费做网站发布叼
  • 湖南张家界建设局网站深圳本地招聘网站有哪些
  • 分析网站建设前期的seo准备工作广东网络文明大会开幕
  • 贵州城乡和住房建设厅网站天津seo方案
  • 青岛php网站建设wordpress可以做博客么
  • 智能建站技术自己注册了个域名想做一个网站
  • 做网页游戏网站需要什么做的网站必须放
  • 乐清网站网络公司wordpress 登陆不了
  • 淘宝作图在哪个网站上做图最专业网站建设开发
  • 公司电商网站建设方案模板百度怎么优化关键词排名
  • 短租网站那家做的好处建造网站
  • 公司网站推广费用运营软件有哪些
  • 智能网站建设步骤免费培训机构管理系统
  • 公司网站建设属于软件销售wordpress默认主题 xss
  • 企业自建网站平台有哪些推广网络广告
  • ps模板素材网站域名有关的网站
  • 企业网站建设费怎么入账创建论坛网站需要多少钱
  • 北京定制网站公司在线生成logo图标免费
  • 利用国外网站文章图片做书营利怎么做网站的搜索引擎