
如何用 Docker 把 Cherry Studio 跑起来完整容器化部署指南【免费下载链接】cherry-studioAI productivity studio with smart chat, autonomous agents, and 300 assistants. Unified access to frontier LLMs项目地址: https://gitcode.com/GitHub_Trending/ch/cherry-studioCherry Studio 是一个聚合 300 大模型助手、支持智能对话与自主 Agent 的 AI 生产力工作台。如果你不想在每台机器上手动折腾 Node 环境、原生依赖和版本冲突用 Docker 做容器化部署就是最省心的路线环境一次性打进镜像配置外置到文件迁移和扩容都靠一条命令完成。下面这条路径从装好 Docker 到跑起一个带健康检查的服务大约需要半小时。先花 30 秒理解它内部在干什么后面看日志、查故障时会轻松很多。Cherry Studio 的对话链路是渲染进程收到消息后通过 Electron IPC 传给主进程由主进程里的 AI Core 完成推理编排含 Claude Agent SDK 等运行时再把消息块流式回传渲染层展示最终由消息服务落盘到 SQLite。5 分钟内跑起来最短路径第 1 步装好 Docker。以 Ubuntu 为例sudo apt-get update sudo apt-get install -y docker.io docker-compose sudo systemctl enable --now docker sudo usermod -aG docker $USER装完执行newgrp docker让组权限生效docker --version能输出版本号就算过关。第 2 步拿代码。git clone https://gitcode.com/GitHub_Trending/ch/cherry-studio cd cherry-studio第 3 步写一个最小 Dockerfile。核心思路是两段式构建——第一段装依赖、编译第二段只带走产物避免构建工具混进运行镜像FROM node:18-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci --onlyproduction COPY . . RUN npm run build FROM node:18-alpine WORKDIR /app COPY --frombuilder /app/node_modules ./node_modules COPY --frombuilder /app/dist ./dist COPY --frombuilder /app/package.json ./ RUN apk add --no-cache curl bash EXPOSE 3000 CMD [npm, start]第 4 步构建并启动。docker build -t cherry-studio:local . docker run -d -p 3000:3000 \ -e NODE_ENVproduction \ -v cherry-data:/app/data \ --name cherry-studio cherry-studio:local浏览器访问http://localhost:3000看到页面加载即成功。只改 3 个配置点密钥、数据卷、健康检查真正决定部署质量的地方不多重点盯这三个。① 密钥外置别写进镜像。在项目根目录建.env不要提交到版本库Compose 会自动引用它NODE_ENVproduction PORT3000 LLM_PROVIDERSopenai,anthropic,deepseek OPENAI_API_KEY你的密钥 ANTHROPIC_API_KEY你的密钥 DEEPSEEK_API_KEY你的密钥 LOG_LEVELinfo② 数据卷只挂数据目录。对话、配置都存在容器内的数据目录里挂一个命名卷就能做到删容器不丢数据services: cherry-studio: build: . ports: - 3000:3000 env_file: - .env volumes: - app-data:/app/data restart: unless-stopped volumes: app-data:③ 加健康检查让容器自己报告状态。这是后面监控和自动恢复的地基healthcheck: test: [CMD, curl, -f, http://localhost:3000/health] interval: 30s timeout: 10s retries: 3 start_period: 40sstart_period给足启动时间很重要——Electron 类应用冷启动比普通 Node 服务慢设小了会误判为不健康反复重启。稳定运行资源限额、监控与安全加固给容器设上限。多开 Agent 任务时 CPU 和内存可能冲高在 Compose 里加deploy.resources限制避免它把宿主机资源吃光deploy: resources: limits: memory: 2G cpus: 2接上 Prometheus Grafana。只要服务暴露/metricsPrometheus 配置里加一个静态目标即可每 10 秒抓一次Grafana 起一个容器指向 Prometheus 数据源就能看到请求量、内存曲线。生产环境建议再配一个日志落盘目录挂载./logs:/app/logs并启用日志轮转排查问题时有据可查。安全加固三件套。一是运行镜像里创建非 root 用户再切换防止容器逃逸后拿到宿主机 rootRUN addgroup -g 1001 -S nodejs adduser -S cherry -u 1001 USER cherry二是给容器降权cap_drop: [ALL]丢掉所有 Linux 能力security_opt: [no-new-privileges:true]禁止提权read_only: true加一块小 tmpfs 应付临时文件。三是网络隔离给 Compose 自定义网络加internal: true容器只走内网外部访问只通过端口映射这一个口子。另外两点值得顺手做了配置目录用:ro只读挂载部署前用 trivy 之类工具扫一遍镜像漏洞。出问题怎么办高频故障排查思路现象先查什么对应动作容器反复重启docker-compose logs cherry-studio看退出码多为端口被占或密钥缺失改端口映射或核对.env能启动但对话报错主进程侧的模型配置确认LLM_PROVIDERS与实际密钥匹配网络能否直连对应厂商越跑越慢docker stats看实时占用检查限额是否过低或日志卷是否撑满磁盘日常排查三板斧docker-compose ps # 谁活着谁死了 docker-compose logs -f cherry-studio # 实时跟踪日志 docker stats $(docker-compose ps -q) # 资源消耗快照进容器内确认环境是否正常docker-compose exec cherry-studio sh -c node -v ls /app/dist。构建阶段慢的话基本是拉镜像或装依赖受网络影响换成贴近你网络的镜像源即可。想深挖 Linux 侧的原生依赖比如 SQLite 预编译产物是如何进入打包流程的可以看仓库里的 Linux 打包文档 和 贡献者开发指南。进阶多副本与集群化单机稳了之后横向扩展就是加副本的事。Docker Swarm 下把服务声明成 3 副本滚动更新时逐台替换services: cherry-studio: image: cherry-studio:latest deploy: replicas: 3 update_config: parallelism: 1 delay: 10s restart_policy: condition: on-failure max_attempts: 3 resources: limits: cpus: 1 memory: 2G networks: - cherry-network networks: cherry-network: driver: overlay注意副本之间共享数据要落到外部存储或数据库上否则各副本各存各的对话记录。更值得投入的是把构建-发布自动化参考仓库里的 发布工作流文档在 CI 里跑镜像构建、漏洞扫描、打 tag人工只做最后一步docker stack deploy。基础镜像定期跟随 node 官方小版本更新保持安全补丁及时生效。下一步先用最短路径跑通单机部署并加上健康检查再按稳定运行一节逐步叠加限额、监控和加固——每个阶段都确认服务正常后再进下一步比一次性铺开更容易定位问题。【免费下载链接】cherry-studioAI productivity studio with smart chat, autonomous agents, and 300 assistants. Unified access to frontier LLMs项目地址: https://gitcode.com/GitHub_Trending/ch/cherry-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考