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

Docker Desktop实战、问题记录 - 指南

概述

Windows 10/11安装WSL和Docker Desktop,提到过Docker Desktop的安装,以及Docker Desktop与WSL的关系。

本文重点关注于Windows下Docker Desktop使用过程中遇到的问题。

切换目录

默认情况下,Docker Desktop安装在宝贵的C盘,且没有提供安装安装选项,安装成功后也没有配备入口。如何迁移到其他盘?

操作步骤:

  • 退出Docker Desktop;
  • 移动文件夹C:\Program Files\Docker到其他地方;
  • 创建符号链接:以管理员身份打开命令提示符并执行mklink /D "C:\Program Files\Docker" "D:\Program\Docker"
  • 移动数据目录:mklink /D "C:\Users\johnny\AppData\Local\Docker" "D:\Program\Docker\Data"
    在这里插入图片描述
    出现上述报错,请检查是否已经将源文件夹彻底移动到目标文件夹,并确保源文件夹不再存在。

出现报错:
在这里插入图片描述
请退出WSL子系统。

成功是这样的输出:
在这里插入图片描述

关闭容器组自启动

本地部署好几个应用(容器组)
在这里插入图片描述
启动Docker Desktop时,会自动启动容器组,带来的困扰:

需求:Docker Desktop启动时不自动启动这些容器,只在需要时手动启动。

在Docker Desktop界面里并没找到设置入口,事实上部分容器组会自启动,其他容器组则不会;看来和docker-compose.yml文件有关。

比如coze-studio分组下面的所有容器自动重启,查看本地\coze-studio\docker\docker-compose.yml,果然所有的服务都是restart: always

--restart支持的配置枚举值:

直接删除该行配置,或修改为restart: unless-stopped

容器分组

还是上面的截图,可看到在docker目录(分组)下有好几个应用:ragflow、supersonic,这样太混乱;没法在Docker Desktop界面上一键启动、停止、重启。

能不能分组展示,和coze-studio一样?

解决思路:参考coze-studio的docker-compose.yml,在docker-compose.yml文件首行新增name: ragflow

遇到的小问题:
如果已经通过docker compose up -d启动好容器组,此时修改docker-compose.yml新增name: FastGPT,执行docker compose down失败,不能停止容器:
在这里插入图片描述
撤销修改,执行docker compose down,修改docker-compose.yml,再执行docker compose up -d,Docker Desktop效果:
在这里插入图片描述
另外,Docker Desktop会忽略驼峰命名,改为纯小写。

更大的问题:在执行docker compose up -d之前,若没有提前设置好name信息,则修改name无效。因为这个容器组名称信息已写入到Docker Desktop的配置文件里,在本地安装目录一个个配置文件打开并查看并没有找到相关的配置信息,官方文档也没找到相关说明,GPT也是乱答一气。

绕过问题的方法:删除镜像,重新执行docker compose up -d,分组成功的效果:
在这里插入图片描述

镜像分组

抱歉,官方并没有这个功能。比如FastGPT会使用Redis,RAGFlow也要使用Redis。而Redis的分发包不要太多,有官方的Redis(即docker.io/redis),也有其他组织维护的Redis(如bitnami/redis);估计是这个原因,导致Docker Desktop没办法对镜像进行分组维护。

本地git pull更新代码后,执行docker compose up -d,会重新下载最新版镜像文件,导致出现如下问题:
在这里插入图片描述
即本地会有多个不同版本(即标签Tag)的镜像。

只能手动删除不需要的低版本镜像:
在这里插入图片描述
新版本Docker Desktop在持续优化性能,解决Bug,优化界面交互,比如下面不同颜色的镜像:
在这里插入图片描述
然后呢,官方又使用一个超大文件(咋想的??)管理所有的容器和镜像,非常不利于容器和镜像管理。
在这里插入图片描述
并且在手动删除部分低版本镜像后,上述VHDX文件并没有减小,这意味着我本地磁盘迟早会用尽。重启Docker Desktop之后,还是这么大!
在这里插入图片描述
再看看本地磁盘文档:
在这里插入图片描述

再去看看专门用于提交问题(Bug、Issue)的GitHub,多达1.4K!
在这里插入图片描述

VHDX

VHDX,Virtual Hard Disk v2,微软开发的第二代虚拟硬盘文件格式,主要用于虚拟化环境和原生启动场景。最大支持64TB存储容量。通过更新VHDX元数据,可提供电源故障期间的数据保护机制,并优化动态扩展磁盘与差异磁盘的结构对齐方式以适配现代硬件(可在大型扇区磁盘上更好地工作)。VHDX支持在物理硬件上直接启动OS(原生启动),无需依赖虚拟机或Hypervisor。

其文件类型包含固定、动态和差异三种虚拟硬盘,其中差异磁盘支持通过父子结构实现备份快照功能。测试显示固定类型相比动态类型在连续写入性能上具有优势,且动态类型可节省存储空间。该格式还可经过SCSI控制器搭建运行时磁盘容量调整,但动态硬盘不建议用于生产环境服务器。

VHDX最初于2012年随Windows Server的Hyper-V组件发布,旨在应对企业级虚拟化存储需求。文件格式规范历经多次修订,最新8.0版于2024年4月发布。早期Windows版本不支持该格式,可通过PowerShell命令实现与VHD格式的转换。

docker compose报错

在这里插入图片描述
智谱chat给出的分析:

正在尝试连接到192.168.99.100:2376,这是一个典型的Docker Machine(采用VirtualBox驱动)配置,而不是Docker Desktop的默认配备。
可能之前安装或使用过Docker Toolbox(包含Docker Machine)

打开控制面板,果然:
在这里插入图片描述
命令docker context ls输出:
在这里插入图片描述
解决方法:

卸载Docker Toolbox,再次执行docker compose up -d,还是有报错:
在这里插入图片描述
GPT分析:

Docker客户端仍在尝试使用Docker Machine的配置文件,需要彻底清理Docker调整,确保它使用Docker Desktop而不是Docker Machine。

解决方法步骤:

删除环境变量后,重新打开CMD窗口:
在这里插入图片描述
重置Docker Desktop
在这里插入图片描述
在这里插入图片描述
卸载重新安装。

Docker Desktop启动异常

不管是启动普通启动,还是以管理员身份启动,任务管理器里找不到Docker进程。

找到日志:C:\Users\johnn\AppData\Local\Docker\backend.error.json

倘若文件极其大,不能直接使用Sublime Text打开,必须截止于tail或cat命令行。

实际上都需要查看日志,检查一下配置文件,大概率是daemon.json文件配置有误,不满足JSON格式。

docker version

输入docker version命令:
在这里插入图片描述
GPT答复Docker Desktop依赖WSL2,WSL异常会导致引擎无法启动。
在这里插入图片描述
重试,一切正常:
在这里插入图片描述
检查WSL发行版:
在这里插入图片描述
切换为docker-desktop
在这里插入图片描述
还是不行。

处理手段:重启Docker Desktop。

如果不行,多试几次;或直接重启Windows电脑。

服务停止异常

点击服务组Stop按钮:
在这里插入图片描述
停止异常,报错信息:
在这里插入图片描述
使用终端命令docker compose down,也是同样的报错:
在这里插入图片描述
后端引擎异常导致,重启Docker Desktop。就是原因分析:同上,还

删除容器

在这里插入图片描述

参考

http://www.rkmt.cn/news/23451.html

相关文章:

  • 10 18
  • 2025 年最新推荐!空压机租赁公司综合实力推荐榜单:涵盖无油 / 高压 / 阿特拉斯等机型及二手设备买卖置换,助力企业精准挑选服务商
  • 2025年10月AI搜索营销推荐排名:结合头部案例与合规资质的中立评价
  • 2025 年马赛克厂家最新推荐排行榜单:聚焦行业领军企业核心优势,涵盖陶瓷 / 游泳池 / 喷墨马赛克等多类型产品公司推荐
  • 2025 年最新推荐泳池砖厂家榜单:聚焦优质厂家,助力采购者选对游泳池砖 / 游泳馆砖 / 泳池防滑砖公司品牌推荐
  • 2025 年最新推荐!国内空调机组厂家权威排行榜,含冷凝热回收等多类型机组企业优选指南
  • 2025 年防火阀制造厂家最新推荐权威排行榜:防爆 / 70℃/280℃防火阀及执行机构优质企业全解析
  • 2025 年电动执行器厂家最新推荐排行榜:聚焦开关型 / 风门 / 风阀 / 弹簧复位 / 断电复位品类,精选优质企业助力采购决策
  • 2025 年锅炉厂家最新推荐排行榜:高效节能 + 环保智能核心优势剖析,优质品牌口碑指南蒸汽发生器厂家推荐
  • 2025 年陶瓷阀生产厂家最新推荐口碑榜:电动 / 气动 / 高温等多类型产品品质与用户反馈深度解析
  • 实用指南:【论文阅读】Segment Anything
  • 2025 年最新推荐!刀闸阀生产厂家综合实力榜单出炉,涵盖陶瓷 / 国标 / 电动 / 气动 / 密封 / 手动 / 法兰 / 铸铁多类型产品
  • 2025 年最新推荐!选矿药剂生产厂家实力榜单,覆盖多矿石类型高效环保药剂品牌汇总石英长石 / 赤铁矿褐铁矿锂云母锂辉石 / 石墨煤矿的选矿药剂推荐
  • 2025 年离心泵厂家最新推荐榜单:涵盖化工 / 卧式多级 / 不锈钢等多类型,帮企业选优质设备
  • 2025 年托盘厂家最新推荐榜,聚焦企业技术实力与市场口碑深度解析,筛选优质品牌助力企业采购
  • C# Avalonia 16- Animation- FrameBasedAnimation
  • h5直播源码,如何实现一个简易播放器? - 云豹科技
  • 2025 年换热器厂家最新推荐榜单:涵盖不锈钢钛哈氏合金等材质及列管式螺旋板等类型,为企业采购提供优质选择
  • 2025 水泥墩源头厂家最新推荐排行榜:光伏 / 交通 / 围挡等多品类优选,实力品牌权威榜单发布
  • 2025年鸡精生产线/高速混合机/WDG农药生产线/鸡粉干燥设备/海鲜精干燥设备厂家推荐排行榜,调味料干燥设备/全自动配料/螺带混合机优质品牌!
  • 2025 年过滤机厂家最新推荐排行榜:胶带式 / 盘式真空 / 脱水 / 带式真空 / 水平带式过滤机企业精选及选购指南
  • 在MySQL中 redolog undolog binlog 写入的场景,顺序
  • 2025年大连网络营销推广/媒体投放/全案推广/新媒体营销/全媒体推广/代运营公司权威推荐榜
  • 低空经济新纪元:AI驱动的智能无人机技巧与应用
  • Aniyomi:功能强大的动漫影视播放阅读器
  • Cisco ASR 9000 Router IOS XR Release 7.11.2 MD - 思科 ASR 9000 路由器系统软件
  • 10.16 闲话-k 短路
  • AI深度学习平台快速诊断肌张力障碍
  • 2025年干燥机厂家推荐排行榜,小型喷雾/实验室离心喷雾/双锥回转真空/搪瓷双锥/旋转闪蒸/振动流化床/真空耙式/单层带式/多层带式/立式沸腾/卧式沸腾/滚筒刮板干燥机!
  • 2025年CNC高压清洗机厂家推荐排行榜,CNC全自动高压清洗机,CNC去毛刺清洗机,工业CNC高压清洗机公司推荐!