Skip to content

4. 服务启动模式

LSY357 edited this page Jul 4, 2025 · 4 revisions

安装部署 CozeLoop 社区版时,默认使用开发模式,此模式下修改后端文件无需重新部署服务。你也可以参考本文档选择其他模式启动服务。

服务启动模式

开发模式

开发模式下可以使用热部署。

  • 修改后端文件(/backend下的文件)后,业务 Docker 会自动重新编译后端代码并重新启动,无需重新拉起 Docker。
  • 修改前端文件后,需要使用 dev_reload.sh 去触发前端重新构建或者重新拉起服务。

通过开发模式安装罗盘

参考以下步骤,使用开发模式安装部署 CozeLoop 社区版:

  1. 执行以下命令,使用 Docker Compose 快速部署 CozeLoop 社区版。

    # 方式一:启动服务,默认为开发模式
    docker compose up --build
    
    # 方式二:安装命令加上RUN_MODE=dev,表示指定开发模式
    RUN_MODE=dev docker compose up --build
    
    # 方式三:指定开发模式,并限制安装进程在后台运行
    RUN_MODE=dev docker compose up --build -d
  2. 首次启动需要拉取镜像、构建本地镜像,可能耗时较久,请耐心等待。部署过程中,你会看到以下日志信息。如果回显信息中”提示后端构建完成“,表示 CozeLoop 已成功启动。 Image

开发模式下修改代码

如果修改后端文件,业务 Docker 会自动重新编译后端代码并重新启动,例如: Image

调试模式

调试模式下可以使用远程单步调试,即可以在本地使用 VSCode 或者 GoLand 等 IDE 进行远程调试。调试模式下,服务端能看到服务启动的日志。

  • 在本地部署服务时,如果系统为 macOS 且搭载 M 系列芯片,本地调试可能会失败。
  • 调试模式需要保证本地代码和部署侧代码一致。

使用调试模式安装罗盘

使用调试模式安装部署 CozeLoop 社区版:

# 方式一:安装命令加上RUN_MODE=debug,表示指定调试模式
RUN_MODE=debug docker compose up --build

# 方式二:指定调试模式,并限制安装进程在后台运行
RUN_MODE=debug docker compose up --build -d

启动成功后可以看到如下日志信息: Image

远程调试

以 GoLand 为例,参考以下步骤进行远程调试。

  1. 在 GoLand 新建一个 Debug 选项,选择 Go Remote。 Image
  2. 根据你的环境填写相关信息,并单击应用。 主机指启动服务的 IP;服务端口默认为 40000。 Image

发布模式

发布模式就是正常启动服务模式,不再支持热部署和单步调试,属于稳定运行服务。

# 方式一:安装命令加上RUN_MODE=release,表示指定发布模式
RUN_MODE=release docker compose up --build

# 方式二:指定发布模式,并限制安装进程在后台运行
RUN_MODE=release docker compose up --build -d

启动成功后能看到如下日志信息: Image 如果是在后台启动服务,那么在服务启动后,能看到这些信息,包含启动所需的各组件:

[+] Running 18/18
✔ app                                      Built
✔ Network cozeloop_mynetwork               Created
✔ Volume "cozeloop_minio_config"           Created
✔ Volume "cozeloop_rocketmq_namesrv_data"  Created
✔ Volume "cozeloop_rocketmq_broker_data"   Created
✔ Volume "cozeloop_shared_frontend_dist"   Created
✔ Volume "cozeloop_redis_data"             Created
✔ Volume "cozeloop_mysql_data"             Created
✔ Volume "cozeloop_clickhouse_data"        Created
✔ Volume "cozeloop_minio_data"             Created
✔ Container cozeloop-mysql                 Healthy
✔ Container cozeloop-redis                 Healthy
✔ Container cozeloop-minio                 Healthy
✔ Container cozeloop-clickhouse            Healthy
✔ Container cozeloop-namesrv               Healthy
✔ Container cozeloop-broker                Healthy
✔ Container cozeloop-app                   Healthy
✔ Container cozeloop-nginx                 Started       

切换不同模式

如果需要切换运行模式,需要先停止运行服务,然后再重新拉起服务,注意需要加--build参数重新编译镜像,如下所示:

  1. 停止服务运行。

    docker compose down
  2. 重新拉起服务,并指定新的服务启动模式。 注意重新拉起服务时需要加 --build 参数重新编译镜像。

    # 按需传入启动模式,此处以发布模式为例
     RUN_MODE=release docker compose up --build

关闭服务

如果无需使用 CozeLoop 社区版,可以执行以下命令关闭服务。

  • 方式一:关闭服务,不删除数据。后续可再次拉起服务,并重新构建镜像,继续使用 CozeLoop 社区版。

    # 方式一:关闭服务, 数据还依然存在。后续启动服务后还能看到数据
    docker compose down
  • 方式二:关闭服务,并且删除数据。后续如需继续使用 CozeLoop 社区版,只能重新部署服务。

    # 方式二:关闭服务,并且删除数据
    docker compose down -v
    # 关闭服务并删除数据后,查看容器列表。回显信息应为空
    docker ps -a

启动服务

你可以参考以下命令,在各种场景中启动服务。

  • 启动服务时如果无需重新构建镜像、更改启动模式,可以直接拉起服务,并在拉起时选择同样的启动模式。
  • 下表以默认的开发模式为例,如果选择其他模式,在命令前增加 RUN_MODE=debugRUN_MODE=release 即可。
服务状态 操作 命令
服务未部署 启动服务,默认开发模式 docker compose up --build
服务运行中 重启服务,不构建镜像 docker compose restart app
服务关闭后 启动服务,不构建镜像 docker compose up
启动服务,并构建镜像 docker compose up --build
启动服务,并重新构建镜像,且后台运行安装进程 docker compose up --build -d

Clone this wiki locally