构建期间服务器无响应或崩溃
Coolify 支持两种部署方式:使用预构建的 Docker 镜像进行部署,以及从源代码进行构建。了解您使用的是哪种方法可以帮助您更好地解决性能问题。
1. 了解您的部署方式
A. 预构建 Docker 镜像部署
- Coolify 从您或他人已经构建好的现有 Docker 镜像启动一个新容器。
B. 从源代码构建部署
- Coolify 使用您的应用程序源代码在您的服务器上构建 Docker 镜像,然后从这个新创建的 Docker 镜像启动容器。
2. 排查性能问题
如果您的服务器在部署期间变得非常缓慢或崩溃,请根据您的部署方式考虑以下步骤:
-
对于预构建镜像部署:
- 由于容器直接从 Docker 镜像启动,高资源使用率很可能是由正在运行的应用程序引起的。
- 解决方案: 考虑升级您的服务器以更好地满足应用程序的资源需求。
-
对于从源代码构建部署:
- Docker 镜像构建过程可能会使您的服务器过载。
- 解决方案: 将构建过程卸载到外部构建服务器,或者使用替代方法,如GitHub Actions,在外部处理构建。或者,考虑升级您的服务器容量。
-
一般提示: SSH 到您的服务器并运行
htop来监控进程。识别任何消耗过多资源的进程,并在必要时终止它。
3. 使用 GitHub Actions 卸载构建
为了减少部署期间服务器的负载,请遵循以下流程:
-
流程:
- 使用GitHub Actions在外部构建您的 Docker 镜像。
- 将构建好的镜像推送到容器注册表(例如,GitHub Container Registry)。
- 构建完成后,配置 Coolify 以自动部署新版本。
-
优势: 这种方法最大限度地减少了您服务器上的工作量,从而实现更顺畅的部署。
-
了解更多: 查看我们的 GitHub Actions 工作流文件。
总结
- 部署方式:
- 预构建镜像: 直接从现有镜像启动容器。
- 从源代码构建: 在启动容器之前,在您的服务器上构建镜像。
- 排查:
- 确定问题是源于应用程序的资源需求还是镜像构建过程。
- 根据需要升级您的服务器或卸载构建任务。
- 优化:
- 使用 GitHub Actions 在外部构建 Docker 镜像可以显著减少本地资源使用。
支持
如果以上步骤均无效,请遵循以下步骤:
- 社区帮助: 加入我们的Discord 社区,并在支持论坛频道中发帖。
- 分享内容: 您遇到的问题、您的服务器规格(例如,操作系统、CPU、RAM),以及您已经尝试过的步骤描述。
