Skip to content

4. 服务启动模式

kidkidkid edited this page Aug 14, 2025 · 4 revisions

安装部署 Coze Loop 开源版时,默认使用稳定模式,此模式下会拉取 Coze Loop 服务的 Docker 公共镜像直接启动。

服务启动模式

稳定模式(stable)

  • 特点:从 docker.io 公共仓库拉取 Coze Loop 镜像。
  • 场景:演示、体验,作为稳定模式使用
  • 使用方式:git clone 仓库后可直接部署启动

部署启动命令:

# 在 coze-loop/ 目录下执行
make compose-up

开发模式(dev)

  • 特点:在本地构建 Coze Loop 镜像。在代码发生改动后自动构建镜像,涉及前后端代码编译。
  • 场景:开发、定制、验证
  • 使用方式:代码变更 -> 本地构建临时镜像 -> 使用本地临时镜像部署

部署启动命令:

# 在 coze-loop/ 目录下执行
make compose-up-dev

提示:该命令会自动执行如下步骤:

  1. 编译构建镜像到本地 Docker 镜像仓库 cozedev/coze-loop:dev
  2. 用本地构建的镜像启动服务。

Dockerfile 的逻辑具备缓存加速功能:

  • 若只改服务端代码:则只重新编译服务端(go mod也进行了缓存加速)
  • 若只改前端代码:则只重新编译前端
  • 两者同时修改:则两者都重新编译

单步调试模式(debug)

  • 特点:在 dev 模式基础上额外支持了打断点的单步调试 debug
  • 场景:开发、定制、验证
  • 使用:代码变更 -> 本地构建临时镜像 -> 使用本地临时镜像部署 -> 断点断住 -> debug

部署启动命令:

# 在 coze-loop/ 目录下执行
make compose-up-debug

前置配置:

  1. 配置 Debug 端口。若无端口冲突问题可跳过此步骤。 在 release/deployment/docker-compose/.env 中配置 COZE_LOOP_APP_DEBUG_PORT,默认为 40000。
  2. 以 GoLand 为例,在 IDE 中新建一个 Debug 选项,选择 Run -> Edit Configurations... -> 新增 Go Remote 配置。 Image
  3. 根据你的环境填写相关信息,并单击应用。 其中,主机指启动服务的 IP;服务端口默认为 40000。 Image
  4. 正常开发和修改代码。
  5. 执行 make compose-up-debug 命令。 执行后,后端服务会自动执行如下步骤:
    1. 编译构建镜像到本地 cozedev/coze-loop:debug
    2. 使用本地构建的镜像启动服务。
  6. 单步调试。 如果看到启动日志中输出如下信息并中断时,在 GoLand 右上角点击 Debug 按钮,即可进行单步调试。
    coze-loop-app              | API server listening at: [::]:40000
    coze-loop-app              | 2025-08-12T10:20:33Z warn layer=rpc Listening for remote connections (connections are not authenticated nor encrypted)
    coze-loop-app              | 2025-08-12T10:20:33Z info layer=debugger launching process with args: [/coze-loop/bin/main]
    coze-loop-app              | 2025-08-12T10:20:34Z debug layer=debugger Adding target 27 "/coze-loop/bin/main"
    

启动和关闭服务

模式 操作 命令
stable 启动全部服务 make compose-up
stable 重启个别服务 make compose-restart-<svc>
stable 关闭全部服务 make compose-down
stable 关闭全部服务并删除挂载的卷轴 make compose-down-v
dev 启动全部服务 make compose-up-dev
dev 重启个别服务 make compose-restart-dev-<svc>
dev 关闭全部服务 make compose-down-dev
dev 关闭全部服务并删除挂载的卷轴 make compose-down-v-dev
debug 启动全部服务 make compose-up-debug
debug 重启个别服务 make compose-restart-debug-<svc>
debug 关闭全部服务 make compose-down-debug
debug 关闭全部服务并删除挂载的卷轴 make compose-down-v-debug
Clone this wiki locally