Docker部署cocoindex-code完全教程:免Python、免装依赖的持久容器方案
Docker部署cocoindex-code完全教程免Python、免装依赖的持久容器方案【免费下载链接】cocoindex-codeA super light-weight embedded code search engine CLI (AST based) that just works - improves speed and efficiency for coding agent Star if you like it!项目地址: https://gitcode.com/gh_mirrors/co/cocoindex-codecocoindex-code 是一款轻量级、基于 AST 的语义代码搜索引擎 CLI用 Docker 部署它可以做到免 Python、免装依赖宿主机只要有 Docker一条命令就能拉起一个持久容器通过docker exec直接使用ccc命令和 MCP 会话索引数据与嵌入模型缓存还会在 Docker 卷中持久保存。本教程带你从零完成 Docker 部署 cocoindex-code 的完整流程。为什么选择 Docker 部署 cocoindex-code官方推荐的 Docker 使用方式是持久容器persistent container容器启动一次后常驻运行内置守护进程daemon跨会话保持热状态嵌入模型只需加载一次后续ccc search查询秒回。相比原生安装pipx install cocoindex-codeDocker 方案的三大好处✅零依赖宿主机不需要 Python、uv或任何系统依赖镜像已内置全部环境✅可复现团队所有人拉同一个镜像环境完全一致✅开箱即用的模型缓存索引数据和嵌入模型缓存持久化在 Docker 卷中重启容器不丢失相关实现可以直接在仓库里查看镜像构建逻辑见 docker/Dockerfile容器入口脚本见 docker/entrypoint.sh。选择镜像slim 还是 full每个发布版本会推送两个镜像变体按需选择镜像 Tag大小嵌入后端适用场景cocoindex/cocoindex-code:latestslim默认约 450 MBLiteLLM云端OpenAI、Voyage、Gemini、Ollama 等大多数用户云 API 嵌入拉取快cocoindex/cocoindex-code:full约 5 GBsentence-transformers本地 LiteLLM不想用 API key、想要离线嵌入的本地推理场景 Mac 用户注意:full变体在 Docker 内只能跑 CPU 推理Docker 无法访问 Apple Metal GPU。想要本地嵌入 快速推理的 Mac 用户建议改用原生安装:latest不受影响因为模型在云端运行。最快部署方法一行命令 docker compose 启动官方提供了一份开箱即用的 Compose 文件docker/docker-compose.yml。方式一一行命令拉取启动macOS / Windowsbash / zshdocker compose -f (curl -L https://raw.githubusercontent.com/cocoindex-io/cocoindex-code/refs/heads/main/docker/docker-compose.yml) up -d方式二Linux 主机对齐文件属主推荐PUID$(id -u) PGID$(id -g) docker compose -f (curl -L https://raw.githubusercontent.com/cocoindex-io/cocoindex-code/refs/heads/main/docker/docker-compose.yml) up -d方式三手动获取 Compose 文件后启动把仓库中的 docker/docker-compose.yml 拷到任意目录在该目录下执行docker compose up -d这个方式兼容性最好Windows 的 cmd / PowerShell 也能用。启动后默认行为 你的家目录被挂载为容器的/workspace可通过COCOINDEX_HOST_WORKSPACE/path/to/code收窄到某个代码目录 索引数据与模型缓存存入命名卷cocoindex-data挂载到/var/cocoindex跨重启持久保存⚙️ 全局设置文件$HOME/.cocoindex_code/global_settings.yml在宿主机上可见可编辑修改后下一条ccc命令即生效切换镜像变体通过环境变量覆盖即可例如使用:full本地嵌入版COCOINDEX_CODE_IMAGEcocoindex/cocoindex-code:full docker compose up -d不想用 Composedocker run 手动拉容器macOS / WindowsDocker Desktopdocker run -d --name cocoindex-code \ --volume $HOME:/workspace \ --volume cocoindex-data:/var/cocoindex \ -e COCOINDEX_CODE_HOST_PATH_MAPPING/workspace$HOME \ cocoindex/cocoindex-code:latestLinux加上 PUID/PGID 对齐属主docker run -d --name cocoindex-code \ -e PUID$(id -u) -e PGID$(id -g) \ --volume $HOME:/workspace \ --volume cocoindex-data:/var/cocoindex \ -e COCOINDEX_CODE_HOST_PATH_MAPPING/workspace$HOME \ cocoindex/cocoindex-code:latest⚠️ Linux 上务必设置PUID/PGID否则容器内守护进程写的文件会归属 root宿主用户可能无法修改。让 ccc 命令像原生一样好使把下面这段粘贴到~/.bashrc或~/.zshrc之后在任何项目目录下直接敲ccc即可它会自动根据当前目录找到对应项目ccc() { docker exec -it -e COCOINDEX_CODE_HOST_CWD$PWD cocoindex-code ccc $ }然后进入任意项目目录依次执行即可开始使用cd /path/to/your/project ccc init # 初始化项目设置 ccc index # 构建索引 ccc search password verification # 语义搜索 ccc status # 查看索引状态连接编码 AgentMCP 会话接入容器在目标项目内$PWD指向项目根目录注册 MCP让 Claude Code、Codex 等 Agent 直接调用容器内的语义搜索# Claude Code claude mcp add cocoindex-code -- docker exec -i \ -e COCOINDEX_CODE_HOST_CWD$PWD cocoindex-code ccc mcp # Codex codex mcp add cocoindex-code -- docker exec -i \ -e COCOINDEX_CODE_HOST_CWD$PWD cocoindex-code ccc mcp⚠️ 注意用-i而不是-it-t会分配终端干扰 MCP 走 stdin/stdout 的 JSON 消息只有ccc init这类交互式命令才需要加-t。持久化、升级与数据库位置持久化cocoindex-data卷统一保存索引与模型缓存。旧镜像的cocoindex-db、cocoindex-model-cache两个卷已合并为这一个卷从旧镜像升级前先清理docker rm -f cocoindex-code docker volume rm cocoindex-db cocoindex-model-cache升级拉新镜像重建容器即可索引会在下次ccc index时重建嵌入模型首次启动自动恢复。数据库性能优化LMDB 在挂载卷上性能不佳可以把数据库放到容器原生文件系统。镜像默认已配置COCOINDEX_CODE_DB_PATH_MAPPING/workspace/var/cocoindex/db见 docker/Dockerfile即项目数据库存放在容器持久卷中而源码与设置仍留在挂载卷。也可通过-e COCOINDEX_CODE_DB_PATH_MAPPING/workspace/db-files自定义映射。常用环境变量速查环境变量作用COCOINDEX_CODE_IMAGE覆盖默认镜像如切到:fullCOCOINDEX_HOST_WORKSPACE收窄挂载的代码目录默认是家目录PUID/PGIDLinux 上对齐文件属主COCOINDEX_CODE_EXTRA_EXTENSIONS额外文件扩展名如conf,sbtCOCOINDEX_CODE_EXCLUDE_PATTERNS排除构建产物如[**/target/**]OPENAI_API_KEY/VOYAGE_API_KEY云端嵌入的 API key挂载整个$HOME意味着容器对其有读写权限如果范围太广建议用COCOINDEX_HOST_WORKSPACE只挂载代码目录。排错与自测 运行ccc doctor一键体检检查设置、守护进程健康度、嵌入模型、文件匹配与索引状态。ccc daemon status查看守护进程运行状态与运行时长。 仓库内置了完整的 Docker 端到端测试覆盖初始化、索引、搜索、守护进程监督重启、PUID 属主校验等场景tests/e2e_docker/test_docker_workspace.py可作为容器行为的参考实现。相关项目文件镜像构建分层缓存优化、slim/full 变体docker/DockerfileCompose 快速启动配置docker/docker-compose.yml守护进程监督入口容器保活 自动重启docker/entrypoint.shDocker 章节完整说明README.md按照以上步骤你现在应该已经拥有了一个免 Python、免依赖、数据持久化的 cocoindex-code 容器——接下来只需ccc init和ccc index语义代码搜索即刻就绪 【免费下载链接】cocoindex-codeA super light-weight embedded code search engine CLI (AST based) that just works - improves speed and efficiency for coding agent Star if you like it!项目地址: https://gitcode.com/gh_mirrors/co/cocoindex-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

原型模式详解:克隆对象与浅克隆/深克隆

原型模式详解:克隆对象与浅克隆/深克隆

一、原型模式定义 原型模式采用复制原型对象的方法来创建实例。使用原型模式创建出来的对象,具有与原型一样的数据结构,也拥有与原型一样的值。 核心思想:对象创建的动作发自原型对象自身(clone()),而不是由…

2026/10/1 14:41:56 阅读更多 →
Cursor AI编程实战:把Base URL改到TaoToken,统一Key接入多模型

Cursor AI编程实战:把Base URL改到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/1 14:41:56 阅读更多 →
Ubuntu Vulkan环境搭建:四层信任链验证与llamacpp GPU推理实战

Ubuntu Vulkan环境搭建:四层信任链验证与llamacpp GPU推理实战

1. 项目概述:为什么在Ubuntu上装Vulkan不是“装个驱动”那么简单Vulkan不是某个软件,而是一套跨平台、低开销、显式控制的图形与计算API规范。它不像OpenGL那样自带大量状态机和隐式行为,而是把显卡调度、内存管理、同步机制这些原本由驱动代…

2026/10/1 14:41:56 阅读更多 →

最新新闻

电话里让改就改了?结算时这笔钱没人认

电话里让改就改了?结算时这笔钱没人认

一个做市政管网的项目,施工到一半,甲方现场代表打来电话:这段管径改大一号,先做着,手续后面补。项目经理不敢耽搁,当天就调了料、改了做法。半年后结算,这笔材料加人工多花了十几万,…

2026/10/1 15:32:19 阅读更多 →
从零到第一张AI图:Qwen-Image-2.1-viggle-turbo diffusers快速上手完整教程

从零到第一张AI图:Qwen-Image-2.1-viggle-turbo diffusers快速上手完整教程

从零到第一张AI图:Qwen-Image-2.1-viggle-turbo diffusers快速上手完整教程 【免费下载链接】Qwen-Image-2.1-viggle-turbo 项目地址: https://ai.gitcode.com/hf_mirrors/Viggle/Qwen-Image-2.1-viggle-turbo Qwen-Image-2.1-viggle-turbo 是由 Viggle 基于…

2026/10/1 15:32:19 阅读更多 →
书匠策AI的AI PPT功能:你论文写得再好,不会“讲”也是白搭

书匠策AI的AI PPT功能:你论文写得再好,不会“讲”也是白搭

官网:www.shujiangce.com | 微信 公众号 :书匠策AI 公众号搜一搜 书匠策AI,官网 www.shujiangce.com。今天不聊怎么把论文“写”出来,聊一个更被低估的能力:怎么把论文“讲”出来。 论文写完那一刻,你…

2026/10/1 15:32:19 阅读更多 →
选题—大纲—初稿:课程论文的“三段式”里,书匠策AI到底卡在哪一环

选题—大纲—初稿:课程论文的“三段式”里,书匠策AI到底卡在哪一环

官网:www.shujiangce.com | 微信 公众号 :书匠策AI 先把“写论文”这件事拆开看 课程论文和毕业论文最大的区别,不在于篇幅,在于时间感。 毕业论文你有半年到一年去磨,可以慢慢读文献、慢慢想问题、慢慢改。课程…

2026/10/1 15:32:19 阅读更多 →
从自学到职场:普通工程师的成长复盘与避坑指南

从自学到职场:普通工程师的成长复盘与避坑指南

说出来有点不好意思,我的工程师之路其实不是一条标准的“天赋异禀、一路开挂”的路线,而是一条绕了很多弯、踩过不少坑、也靠很多朋友拉了一把才慢慢走下来的普通路线。所以当有人问我“我也想当工程师,该怎么走”的时候,我特别能…

2026/10/1 15:32:19 阅读更多 →
2026年北京小程序/App开发公司选型指南:从技术架构到服务能力全维度解析

2026年北京小程序/App开发公司选型指南:从技术架构到服务能力全维度解析

一、为什么2026年选对开发服务商比以往更关键过去两年,小程序和App开发市场经历了一轮明显的分化。一方面,企业对数字化产品的需求从“有没有”转向“好不好用”;另一方面,AI能力集成、多端适配、高并发架构等要求让开发项目的技术…

2026/10/1 15:31:19 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →