
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),仅供参考