Docker镜像导出为tar文件并跨服务器加载的实践指南
直接开始写吧。见过太多人在这上面翻车了——不是导出的时候选错命令就是另一台机器上加载完发现容器跑不起来。我搞运维这么多年被这玩意儿坑过好多次也帮不少人收拾过烂摊子。虽然标题里写的“Docker导出镜像为.tar文件并在另一台服务器上加载镜像”看起来就是个基础操作但真要做得顺手、不出岔子里面的门道比大多数人想象的多。先说明我平时的工作背景常年和离线环境、内网服务器打交道尤其是那种不能随便连外网的生产环境。在这种地方从Docker Hub拉镜像几乎不可能想在一台已经装好镜像的机器和新机器之间同步环境最朴素也最可靠的办法就是把镜像打成tar包搬过去。这个操作本身不难真正的难点在于理解背后的原理、避开各种坑以及在不同场景下选择正确的姿势。1. 为什么非要手动导镜像离线环境下的现实困境先聊一个很多人一开始没意识到的问题——我明明可以用docker pull直接拉镜像为什么非要多此一举用docker save导出tar包再搬过去真实原因很简单你所在的环境可能根本拉不到镜像。某些内网部署环境服务器之间物理隔离只有一台机器有外网访问权限或者干脆所有机器都在封闭网段里。这种情况下任何依赖公共仓库的操作都走不通。即便是用私有仓库比如自己搭的Registry也得先解决网络连通问题而有的网络策略连内网仓库都访问不了。还有一个非常高频的场景你需要复现某台机器上的精确运行环境。比如目标服务器上跑着一个经过定制配置、装了特定版本依赖的容器你需要把它迁移到新机器上。如果用docker pull重新拉基础镜像再重新build一遍很容易出现版本漂移——这几天里基础镜像更新了或者某个依赖版本被覆盖了结果就是容器行为不一致排错排到怀疑人生。而docker save导出的tar包里带着完整的镜像层和元数据搬到哪都一样干净利落。再一个场景是备份。有些关键业务的镜像我习惯定期做快照式备份直接save成tar文件丢到备份存储上。相比依赖仓库的版本管理tar包备份更直观也更可控——你不需要登录Registry去看tag列表直接看文件大小和日期就够了。所以这个功能解决的问题很明确在没有网络、或者需要完全一致复制环境的情况下把镜像打包带走。不管你是运维、开发还是搞私有化交付的这套操作都是基本功。2. docker save和docker export的本质区别选错命令镜像就废了我开始接触Docker的时候也搞混过这两个命令直到有一次在测试环境加载了一个export出来的包启动容器时直接报“找不到入口命令”才发现俩东西根本不是一回事。这里必须把概念掰清楚。docker save导出的是镜像它保留完整的镜像层级结构、元数据、标签信息包括之前所有层的叠加状态和容器的默认配置比如Entrypoint、Cmd、Env等。加载用的是docker load加载进来之后你拿到的是一个完整的镜像可以直接docker run。docker export导出的是容器的文件系统它把当前容器运行中的整个根文件系统打成一个扁平tar包。这里面没有镜像层概念没有历史Commit记录也没有标签、Entrypoint这些元数据信息。加载用的是docker import导入后出来的不是image:tag这种镜像而是一个新的镜像但所有的历史层和启动配置都没了你需要自己重新设置Entrypoint和Cmd否则docker run根本不知道启动什么。我当年犯过的错就是对一个正在运行的容器直接docker export然后拿到另一台机器上docker import满心以为万事大吉结果run的时候直接报错。后来才意识到这命令适合用在“我已经不需要镜像的完整历史只需要这个容器的当前状态”的场景——比如你临时对容器做了一堆改动想把改动后的状态固化成一个新镜像或者想把容器的根文件系统整体迁移。比较绕的一点是docker export导出的tar包体积通常比docker save小配置文件的改动也更直观。很多人一看体积小就误以为它更“高效”实际上它丢掉的东西对你来说往往至关重要。如果没记清这两个的区别建议记住一句口诀要镜像用save load要容器快照用export import。绝大多数情况下你需要的是前者。3. 完整实操链路导出、传输、加载的每一步细节好了原理清楚了下面就是完整的操作过程。我会把每一步都写清楚包括那些容易被忽略的细节。3.1 第一步确认镜像ID和Tag避免导出错了对象在导出之前先看清楚要导出的是哪个镜像好在多版本共存的服务器上这种事最容易搞混。docker images输出里会列出仓库名、Tag、镜像ID、创建时间和大小。注意这里有个容易踩的坑如果你在同一台机器上有同一个镜像的不同版本比如nginx:1.21和nginx:1.23它们的镜像ID是不同的。导出的时候直接写Tag比写镜像ID更直观但前提是Tag必须存在且没有被重新打标。如果镜像上没有Tag比如build时没为它指定Tag显示的是none这种镜像用Tag导不出去只能用镜像ID来导出。但用镜像ID导出有个副作用加载到目标机器后它是没有Tag的运行时还得手动docker tag补上。所以我的习惯是先给这种镜像补一个Tag再执行导出。docker tag 镜像ID my-image:backup-20240601这一步别省省了后面全是坑。3.2 第二步导出为.tar文件导出的命令有好几种写法效果略有不同我逐个说。最简单直接的docker save -o nginx-backup.tar nginx:1.21这里的-o指定输出文件名。注意命令的语义-o后面跟的是目标文件名紧接着是要导出的镜像名。这个顺序别写反了我看到有人写成docker save nginx:1.21 -o nginx-backup.tar其实也能跑但读起来别扭容易出错。还有一种写法是用重定向docker save nginx:1.21 nginx-backup.tar效果和-o一样但如果你要结合压缩命令这种写法就非常方便。比如导出的同时压缩成gz包docker save nginx:1.21 | gzip nginx-backup.tar.gz这条命令我实际用的频率很高尤其是镜像体积比较大的时候。gzip对Docker镜像的压缩率通常很可观尤其是那些包含大量文本文件、依赖库、日志的镜像。不过也要提醒一下如果镜像里存的都是二进制大文件比如模型文件、安装包压缩率会很低压缩半天没什么效果。这种情况下通常建议直接导出tar、不要再走压缩流程浪费时间。另一种做法是先导出tar再单独压缩docker save -o nginx-backup.tar nginx:1.21 gzip nginx-backup.tar结果和管道压缩一样只是多占用一次磁盘空间。我建议用管道写法一次性搞定还能省掉中间那一步。如果一次要导出多个镜像到一个文件直接并列写镜像名docker save -o all-images.tar nginx:1.21 redis:7.0 mysql:8.0注意这种多镜像打包到一起的方式在docker load的时候会一次性全部加载进来。如果只需要其中某个镜像加载时没法挑得全导进来。我自己用这种方式比较少除非确认这些镜像要一起迁移。3.3 第三步文件传输的细节别再踩权限和数据损坏的坑tar文件生成之后就要想办法把它弄到另一台服务器上。常见的传输方式有scp、rsync或者挂载共享存储后直接拷贝。scp nginx-backup.tar user192.168.1.100:/opt/docker-images/这里有几个细节要提醒第一传输前先校验文件完整性。我建议在源机器上算一下SHA256sha256sum nginx-backup.tar等传输完成后在目标机器上再算一次对比结果确认没有在传输过程中出现数据损坏。尤其是走公网或WiFi传输的时候大文件中途断开、重传、坏包的风险是真实存在的。别嫌麻烦我之前就遇到过传输中断后文件大小看起来差不多但加载时直接报错的情况。第二确认目标机器的磁盘空间足够。tar包体积只是一个维度docker load加载后的镜像实际占用空间往往比tar包要大因为tar包是压缩后的或者层之间存在复用加载后会展开成完整层级。我用一个笨办法估算先看docker images里镜像的大小算好目标机器上的剩余空间确保至少比镜像总大小多出20%的冗余。另外/var/lib/docker所在的磁盘分区才是真正占用空间的地方别光看当前目录的剩余空间。第三文件权限问题。如果传输用的是普通用户tar文件拷到目标机器后加载命令需要用到docker权限。如果目标机器上的用户不在docker组里docker load就会报权限不足。这时候要么sudo执行要么把用户加入docker组。3.4 第四步在目标机器上加载镜像到了目标机器加载动作非常简单docker load -i nginx-backup.tar或者如果你传的是gz压缩包直接加载压缩包也是支持的docker load -i nginx-backup.tar.gzdocker load支持自动识别压缩格式这点很方便。加载过程中会看到类似“Loaded image: nginx:1.21”的输出。如果tar包里导入了多个镜像这里会逐一列出。加载完别急着庆祝先验证docker images | grep nginx确认镜像的REPOSITORY和TAG是正常的。如果发现镜像没有Tag显示none说明导出时就没有Tag处理办法和前面的补Tag一样。然后再跑一个简单的启动测试docker run --rm nginx:1.21 nginx -v这条命令会在前台启动容器并立即退出顺带打印nginx版本信息不会留下容器残留。如果这一步能正常跑通说明镜像本身没问题迁移基本成功。4. 加载失败的真实踩坑排查从报错到修复的完整思路这部分我单独拿出来写因为实际操作中真正耗时间的不是正常流程而是遇到报错后的排查。我把自己碰到过的几类问题整理出来每一个都附上排查思路。4.1 问题一docker load提示“Error processing tar file”这个报错我遇到的时候第一反应是tar包坏了。但排查完之后发现原因可能有好几种得一层层来。首先用tar -tvf看看tar包内容是否正常tar -tvf nginx-backup.tar | head -20如果tar本身能正常列出文件列表说明tar包结构是完好的。接下来再看docker load的报错信息细节docker load -i nginx-backup.tar 21 | tail -50有一次我遇到这个报错原因是tar包在传输过程中被修改了文件权限或文件属主。当时我用的是FTP传输FTP默认可能会对文件做ASCII模式转换结果二进制文件被破坏了。后来改成scp保证二进制模式传输问题消失。还有一次是Docker版本兼容问题。源机器的Docker版本比较新导出的镜像层格式比较新目标机器的Docker版本太老加载时无法识别新格式的层报“unknown layer”或者类似错误。遇到这种情况要么升级目标机器的Docker版本要么用源机器的旧版本重新导出。所以跨版本迁移前我会先确认两边的Docker版本差距docker version --format {{.Server.Version}}如果主版本差得太多比如一边是18.x一边是24.x就要格外小心格式兼容问题了。4.2 问题二加载成功但没有Tag这种情况最迷惑人——明明输出了“Loaded image”docker images里却找不到对应镜像。查一下语法docker images -a加上-a参数就会看到那个镜像其实在列表里只是REPOSITORY和TAG显示为none。原因很简单导出的时候镜像就没有Tag。排查思路回到源机器看看是不是用镜像ID直接export的。如果是先在源机器上补Tag重新导出再加载一次。如果源机器已经不可用了也可以在目标机器上根据镜像ID手动打标签唯一需要确认的是这个镜像确实是你要的那个——可以通过它的创建时间和层ID等信息辅助判断。4.3 问题三目标机器是ARM架构迁移的镜像却是x86_64的这是个架构兼容性问题。如果源服务器是x86_64架构导出的是x86_64架构的镜像而目标服务器是ARM架构比如某些ARM服务器或开发板docker load虽然能加载成功但实际docker run的时候会直接报“exec format error”之类的错误因为二进制架构不匹配。排查思路很简单看一下镜像的架构信息和目标机器架构。docker inspect nginx:1.21 --format {{.Architecture}}输出如果是amd64而目标机器是arm64那就没法直接用这个镜像。解决方案是在源机器上拉取对应架构的镜像并导出或者用docker buildx构建多架构镜像后再导出。这一点在混合架构机房环境里栽过跟头的人应该都深有体会。4.4 问题四磁盘空间不足导致的加载中断这种报错很多时候看起来像是“加载失败”或者“层写入失败”实际原因就是磁盘满了。排查命令df -h /var/lib/docker如果可用空间不够清理掉一些不必要的镜像或容器再加载。我个人的经验是加载一个5GB的tar包磁盘至少要有8-10GB可用空间否则很容易在解压或写入层的时候失败而且失败后还留下一堆占空间的半成品层越搞越乱。5. 进阶优化压缩传输、批量管理与镜像备份策略基础操作会了坑也排得差不多了下面说几个能提升效率的进阶操作这些是我在实际工作中摸索出来的土办法但很好用。5.1 进阶一合理使用gzip压缩传输前面提到了压缩命令这里展开讲讲压缩级别和适用场景。默认的gzip压缩级别是6压缩时间和压缩率比较均衡。如果你不赶时间想压得更小一点可以用docker save nginx:1.21 | gzip -9 nginx-backup.tar.gz-9是最高压缩级别压缩率更高但耗时也长。反过来如果赶时间用-1快速压缩体积会大一些。要注意的是压缩的核心收益取决于镜像内容。大部分Java应用的镜像里面都是一层一层的基础包和依赖压缩率很高有时候能从2GB压到700MB。但如果是存放视频、模型文件等多媒体数据的镜像压缩率很低就别浪费时间去压了。5.2 进阶二批量导出多个镜像的循环脚本如果你要一次性备份几十个镜像手动一个个敲命令太累了。我习惯先在网络上搜索目标机器的总镜像列表然后写一个循环脚本批量导出for img in $(docker images --format {{.Repository}}:{{.Tag}} | grep -v none); do # 把镜像名中的斜杠和冒号替换为下划线生成安全的文件名 fname$(echo $img | sed s#/#_#g; s/:/_/g) docker save -o ${fname}.tar $img done这个脚本把每个镜像单独导出成一个tar文件。为什么不把所有镜像打包成一个文件因为单独导出的话每个镜像的文件独立性更强后续迁移时按需加载一个tar就能拿到对应的镜像不用一次性全导进来占空间更灵活。5.3 进阶三直接归档到私有仓库而不是拿tar包当长期存储这个观点可能和标题的做法有些“冲突”所以我要特别说明一下。tar包适合一次性迁移和临时备份不适合作为长期镜像管理方案。如果你需要长期维护多台机器的镜像同步更专业的做法是搭建一个自托管的镜像仓库服务然后把镜像推送上去。在内网环境里部署一个私有仓库并不复杂docker run一条命令就能起一个Registry容器然后每台机器配置一下/etc/docker/daemon.json里的insecure-registries就能直接docker push和docker pull了。这样就不需要手动导出、传输、加载版本管理也更清晰。那我为什么还坚持用tar包因为有些场景连私有仓库都不可用。比如网络策略很严格各机器之间不能直接访问仓库服务或者你只是做一次性的临时迁移搭个仓库重了。这时候tar包依然是最简单粗暴但有效的方案。我的建议是一次性迁移用tar包长期维护用私有仓库两条腿走路。5.4 进阶四结合容器编排让镜像迁移一步到位如果你是在整个集群环境里做迁移单纯搞镜像还不够还得把容器启动参数、网络配置、数据卷一起迁过去。这里有个小技巧用docker inspect把容器的配置导出成JSON在目标机器上参考这个JSON重新创建等价容器。docker inspect my-container my-container.json但注意这个JSON不能直接用于docker create只能作为参考文档手动整理启动参数。如果你要自动化迁移整个容器可以用docker run的参数配合相关工具比如docker-compose重新生成编排文件。镜像迁移解决的是“环境一致性”问题而容器迁移还涉及“状态一致性”问题这两者要分清楚。5.5 进阶五镜像分层裁剪把体积压到极致有时候你面对一个体积很大的镜像导出传输都很吃力。这种情况我会先检查一下镜像里有没有明显冗余的内容docker history --no-trunc my-image:latestdocker history能看到每一层的操作和大小。如果你发现某些层里有明显的缓存文件、临时文件、日志文件等可以在Dockerfile里做优化——比如多阶段构建、合并RUN命令、清理.cache和临时包。这些优化能让镜像小不少导出tar包的时候自然更轻松。这里强调一下不要在跑着的容器里手动删文件来减小镜像体积那只会影响容器的可写层不会改变镜像本身的层。要优化体积就要从构建源头入手。6. 再分享几个实际使用中的个人体会写到最后说几个我个人使用过程中的体会踩过坑的朋友应该能懂。一个是文件命名规范。tar包的文件名尽量带上版本号和日期比如nginx-1.21-backup-20240601.tar。不要嫌啰嗦等你半年后再翻旧文件光靠文件名就能快速定位哪个是哪个版本能省不少事。我有一次就是文件名写得太随意结果备份了一堆backup.tar完全分不清哪个对应哪个服务只能一个个load进临时Docker环境里检查血泪教训。另一个是镜像导出的“最小化原则”。只导你真正需要的镜像别顺手把一堆没用的都导出去。镜像多导出的时间多tar包体积大传输出错的概率也大。我一般会先在源机器上清理一下docker images -a里那些none的悬空镜像再用docker ps -a看看哪些容器在跑确保导出的镜像和实际业务对得上。至于磁盘空间这个事再说一遍导出tar包前看源机器的空间够不够加载前看目标机器的空间够不够传输前确认网络稳定。这三个基础检查做到位至少能躲开90%的迁移事故。最后说说这个流程能怎么扩展。如果你经常需要在多台机器之间同步镜像可以写一个带日志记录的迁移脚本先检查源镜像是否存在导出格式是否正确目标机器磁盘空间是否充足然后执行传输和加载最后自动做一次docker run --rm冒烟测试。这套流程跑熟了整个镜像迁移过程就会变得非常省心。就说这些吧希望这篇实践笔记能让你避开我踩过的那些坑。有问题随时在评论区交流尤其是碰到奇怪的加载报错把你的场景和报错信息贴出来大家一起看看。

相关新闻

AVCaptureSession视频流捕获实战:设备枚举、帧回调与后台持续运行

AVCaptureSession视频流捕获实战:设备枚举、帧回调与后台持续运行

简介:本资源是一个基于FFmpeg API实现音视频采集与同步处理的完整C工程,面向多媒体开发初学者及iOS/macOS平台音视频应用开发者,解决摄像头图像与麦克风音频实时采集、OpenGL预览、H.264/AAC编码、MP4封装及视音频时间戳同步等核心问题。压缩…

2026/10/12 2:40:30 阅读更多 →
UIUC CS241中文讲义:系统编程从malloc到并发服务器实战指南

UIUC CS241中文讲义:系统编程从malloc到并发服务器实战指南

简介:《UIUC CS241系统编程中文讲义》是一份由ApacheCN社区翻译的开源学习资料,面向希望深入理解系统编程、操作系统底层机制和C语言与Linux交互的开发者。项目源自UIUC经典课程CS241,内容涵盖进程与线程、虚拟内存、并发同步、文件系统、网络…

2026/10/12 2:39:29 阅读更多 →
macOS 安装 IBM CPLEX 12.10 学术版指南:从环境配置到避坑

macOS 安装 IBM CPLEX 12.10 学术版指南:从环境配置到避坑

简介:面向macOS用户的IBM CPLEX 12.10学术版安装包,专为学术研究与教学场景设计,可用于求解线性规划、整数规划、二次规划及混合整数线性规划等问题,在物流调度、资源分配、投资组合优化等决策场景中表现突出。压缩包共18个文件&a…

2026/10/12 2:39:29 阅读更多 →

最新新闻

Python深度学习入门:TensorFlow 2.0与Keras图像分类实战

Python深度学习入门:TensorFlow 2.0与Keras图像分类实战

1. 整体设计与思路拆解:为什么从全流程实战入手先说个很多人会踩的坑:一上来就啃TensorFlow官方文档,今天看张量操作,明天看自动微分,后天看Keras层API,看了半个月还在“入门”,越看越虚。这不是…

2026/10/12 3:34:07 阅读更多 →
16机68节点PST算例:电力系统小干扰与暂态稳定仿真实战指南

16机68节点PST算例:电力系统小干扰与暂态稳定仿真实战指南

简介:本资源为电力系统稳定性分析领域的经典Benchmark算例,面向高校电气工程专业师生、电力系统仿真研究者及PST/Simulink工具使用者,专用于小干扰稳定性和暂态稳定性联合教学与算法验证。压缩包共36个文件,含9个EMF矢量图&#x…

2026/10/12 3:34:07 阅读更多 →
多步智能体性能优化:控制流编排的排查与重构实践

多步智能体性能优化:控制流编排的排查与重构实践

多步智能体跑得又慢又容易出错,这阵子好几个做 Agent 开发的朋友跟我吐槽同一个现象:任务链路只要超过三步,延迟就指数级上升,而且经常在中间某个环节拿到错误结果,回头查日志又看不出明显问题。我调了几个项目之后发现…

2026/10/12 3:34:07 阅读更多 →
Agent长任务稳定性方案:上下文、检查点与资源管控全解析

Agent长任务稳定性方案:上下文、检查点与资源管控全解析

把Agent从Demo推上真实业务,最大的分水岭往往不是模型选得多强,而是你有没有一套能约束它、能让它出错后接着干的运行机制。最近几个月我一直在做某跨平台自动化系统的Agent调度层,踩的坑基本就三类:任务跑到一半上下文乱了&#…

2026/10/12 3:34:07 阅读更多 →
UE源码实战:模块架构、UObject与多线程深度解读

UE源码实战:模块架构、UObject与多线程深度解读

每个在UE里摸爬滚打过一段时间的开发者,恐怕都经历过同一个阶段:功能能写了,项目也能跑,但一碰到线上崩溃、启动卡顿、打包失败这种问题,就感觉自己对引擎的认知像一层窗户纸,怎么捅都捅不破。这个系列前面…

2026/10/12 3:34:07 阅读更多 →
语言、意境与维度—— 从二维数学看东西方语言的认知分野

语言、意境与维度—— 从二维数学看东西方语言的认知分野

引言:一个翻译中的千古难题“大漠孤烟直,长河落日圆。”这两句诗,无论谁来翻译,都只能无限逼近,而无法真正抵达。英文译本可以告诉你:沙漠里有一道烟直直升起,长河尽头有一轮圆圆的落日。意思似…

2026/10/12 3:33:06 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →