首页/新闻资讯/正文详情

快速部署 kage Docker 镜像:离线镜像站一键搭建与 Chrome 路径自定义配置指南

发布时间:2026/9/26 18:17:57 来源:云帆数科 栏目:资讯中心
快速部署 kage Docker 镜像:离线镜像站一键搭建与 Chrome 路径自定义配置指南
快速部署 kage Docker 镜像离线镜像站一键搭建与 Chrome 路径自定义配置指南【免费下载链接】kageShadow any website for offline viewing, with the JavaScript stripped out项目地址: https://gitcode.com/gh_mirrors/kage6/kagekage影是一款用真实无头 Chrome 渲染网页、剥离全部 JavaScript后把整站克隆为可离线浏览文件的镜像工具。通过官方 Docker 镜像你无需在宿主机安装 Chrome一条命令即可搭好离线镜像站配合KAGE_CHROME环境变量与--chrome参数还能精确控制 kage 使用哪个 Chrome 二进制。本文面向新手完整讲解 kage Docker 部署流程与 Chrome 路径自定义配置方法。 为什么用 Docker 部署 kagekage 的核心流程是种子 URL → 无头 Chrome 渲染 → 快照最终 DOM → 剔除脚本 → 资产本地化 → 落盘。这意味着它必须有一个可用的 Chrome/Chromium。直接安装时需要你自行解决浏览器依赖而官方容器镜像把这些全部打包好了镜像内置内容作用Alpine 3.21 kage 静态二进制多平台amd64/arm64开箱即用Chromium负责页面渲染无需宿主装浏览器ca-certificates / tzdataHTTPS 抓取与正确时间戳font-noto 字体渲染出的页面文字不会缺字镜像定义见 Dockerfile构建时通过 GoReleaser 用 buildx 打包多平台版本并把已交叉编译好的静态二进制直接COPY进镜像构建很快。 Docker 镜像部署一条命令搞定部署的关键是一个挂载卷——容器把工作目录和HOME都指向/out所以只要把宿主机的目录挂到/out镜像产物就直接落在你本地docker run -v $PWD/out:/out ghcr.io/tamnd/kage clone paulgraham.com运行结束后镜像文件位于宿主机的./out/paulgraham.com/里面是可离线打开的.html页面、本地化的 CSS/图片/字体以及记录断点状态的_kage/state.json布局详见 docs/content/reference/configuration.md。几个新手常踩的点镜像文件落盘位置容器内默认输出根是$HOME/data/kage而 Dockerfile 已把HOME设为/out因此产物统一出现在挂载卷里不会藏在容器内部。为什么容器以 root 运行这是有意为之。宿主机绑定的/out属主随环境变化只有 root 能可靠写入若不可写不仅克隆失败Chrome 还会因崩溃数据库路径为空而整体启动失败。容器内 Chrome 沙箱本就会被自动关闭所以 root 不会带来额外风险详见 Dockerfile 注释。可断点续爬kage 的抓取是幂等的中断后重跑会读取_kage/state.json跳过已完成页面。若只是想一次性跑完不留状态可加--no-resume。进阶用法定期刷新镜像配合--refresh让旧镜像原地重渲染、抓到网站更新非常适合放进定时任务# 每周刷新一次离线镜像 30 3 * * 0 docker run -v /srv/mirror:/out ghcr.io/tamnd/kage clone example.com --refresh想给大站做范围控制只抓某个栏目、限制页数和深度推荐先看 docs/content/guides/scoping-a-crawl.md。 kage 的 Chrome 路径是怎么找的kage 启动浏览器时的查找顺序是固定的实现见 browser/pool.go--chrome命令行参数优先级最高KAGE_CHROME环境变量CHROME_BIN环境变量内置查找器 各平台常见安装路径各平台自动探测的默认路径平台自动探测位置Linux/usr/bin/google-chrome、/usr/bin/google-chrome-stable、/usr/bin/chromium、/usr/bin/chromium-browsermacOS/Applications/Google Chrome.app/...、/Applications/Chromium.app/...WindowsC:\Program Files\Google\Chrome\Application\chrome.exe等如果以上都没找到kage 的启动器可以在首次使用时自动下载一份私有 Chromium——但生产环境还是建议显式指定路径行为更可控。 自定义 Chrome 路径配置三种方式环境变量参考见 docs/content/reference/configuration.md。方式一--chrome参数一次性指定kage clone example.com --chrome /path/to/chromium方式二KAGE_CHROME环境变量推荐全局生效export KAGE_CHROME/opt/chrome/chrome方式三CHROME_BIN回退变量KAGE_CHROME未设置时读取它常与其他工具共用的场景很方便。在 Docker 场景里Dockerfile 已经替你设置好了KAGE_CHROME/usr/bin/chromium-browser指向镜像内置 Chromium所以容器内无需任何额外配置如果你要构建自定义镜像比如换更高版本 Chromium 或加字体只要保证新路径与KAGE_CHROME一致即可。✅ 部署后如何验证离线镜像在宿主机执行kage serve out/paulgraham.com浏览器打开http://127.0.0.1:8800页面应能正常点击跳转、加载本地图片与样式且完全不需要外网抽查任意.html文件确认没有script标签、onclick或javascript:链接——这正是 kage 的核心价值你拿到的是渲染完成后的最终画面而不是一个试图联网的薄客户端。 总结目标命令/配置快速部署离线镜像站docker run -v $PWD/out:/out ghcr.io/tamnd/kage clone 域名指定 Chrome 路径--chrome/KAGE_CHROME/CHROME_BIN容器内 Chromium 路径镜像已内置KAGE_CHROME/usr/bin/chromium-browser定期抓取更新cron --refresh从docker run到离线可读的整站镜像只需要一条命令而 Chrome 路径的三级配置参数 → 环境变量 → 自动探测让你在任何环境下都能让 kage 精确使用你想用的浏览器。需要源码级细节时可参考 browser/pool.go 的启动器实现与 Dockerfile 的镜像构建说明。【免费下载链接】kageShadow any website for offline viewing, with the JavaScript stripped out项目地址: https://gitcode.com/gh_mirrors/kage6/kage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

彻底清除“此电脑”中顽固残留图标的注册表操作指南
彻底清除“此电脑”中顽固残留图标的注册表操作指南

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

大模型安全内生护栏:SingProbe Infra如何适配29个主流开源模型?
大模型安全内生护栏:SingProbe Infra如何适配29个主流开源模型?

1. 大模型好不好用,和它安不安全是两回事大模型开源社区最近有个动作挺值得聊——蚂蚁把 SingProbe Infra 这个安全内生护栏项目开源了,而且一上来就说已经适配了29个主流开源模型。平时关注模型评测的朋友可能知道,开源模型的跑分、工具调用… · 2026/9/26 18:17:50

Claude Code模板工程实战:从CLAUDE.md到高效AI协作
Claude Code模板工程实战:从CLAUDE.md到高效AI协作

坦率说,Claude Code 这类终端里的 AI 编程工具,大家平时用得最多的场景就是开个会话、丢一段需求进去,然后让它改代码、跑测试、修 bug。一开始我也这么干,直到项目慢慢变大,才发现一个问题:每次跟它配合都… · 2026/9/26 18:17:50

基于Codex与Agent Toolkit的论文PDF知识库构建:从解析到问答
基于Codex与Agent Toolkit的论文PDF知识库构建:从解析到问答

1. 论文PDF知识库的构建思路与整体设计1.1 为什么我要做这件事手里攒了几百篇论文PDF,这个状态大概持续了两年多。每次写综述或者找某个具体方法的时候,我都要打开一个个PDF,用CtrlF搜关键词,搜不到就换个词再搜,有时候… · 2026/9/26 18:48:37

AI Agent从工具调用到自主决策:架构拆解与工程落地实战
AI Agent从工具调用到自主决策:架构拆解与工程落地实战

1. 从"会说话"到"会办事":AI Agent到底跨过了哪道坎如果你在过去两年里持续关注大模型领域,应该能明显感觉到一个分水岭:2024年之前,大家比拼的是"模型能不能答对题";到了2025年下半年&… · 2026/9/26 18:48:37

PG Loss与VF Loss深度解耦:强化学习工程落地的核心范式
PG Loss与VF Loss深度解耦:强化学习工程落地的核心范式

1. 为什么必须把 PG Loss 和 VF Loss 拆开讲透——不是“两个损失加起来”,而是两种思维范式的碰撞 在强化学习的实战圈里,我见过太多人把 Actor-Critic 当成一个“黑盒网络结构”来用:搭好 actor 网络输出动作、critic 网络输出状态价值&… · 2026/9/26 18:48:31

VSCode配置C/C++核心原理与三支柱实战指南
VSCode配置C/C++核心原理与三支柱实战指南

1. 这不是“装个插件就完事”的配置——为什么VSCode配C/C总让人卡在半路? 你搜“VSCode配置C/C教程”,页面刷出来几十篇,点开一看:前两行写着“安装C/C插件→安装MinGW或MSVC→配置tasks.json和c_cpp_properties.json”&#xf… · 2026/9/26 18:48:31

MCP接入生产环境必过的三道关:权限、超时、审计
MCP接入生产环境必过的三道关:权限、超时、审计

第一次把一个 Agent 接上 MCP(Model Context Protocol)的时候,那种“它真的能把我本地的工具调用起来了”的兴奋感,相信做 AI 应用的人都有过。我也一样,当时在 Cursor 里配好 Playwright MCP,看着 AI 自己… · 2026/9/26 18:48:31

用GAS搭建ARPG战斗框架:架构拆解、连招实现与踩坑复盘
用GAS搭建ARPG战斗框架:架构拆解、连招实现与踩坑复盘

做ARPG项目这几年,我最大的体会是战斗框架这玩意儿,选型远比实现重要。手撸一套状态机不是不行,但等做到连招、闪避、伤害计算、敌人AI全堆在一起的时候,你大概率会被各种状态切换和Bug折磨到怀疑人生。我之前在项目里负责重写一套… · 2026/9/26 18:48:31

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

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

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码