我在main.go
文件中有一个go应用程序,它有一个服务器。服务器运行在localhost:9090
上。我有我的货单
applications:
- name: golang-app
buildpacks:
- https://github.com/cloudfoundry/go-buildpack
memory: 4GB
disk_quota: 4GB
instances: 1
env:
GO_APP_ENV: prod
services:
- go_mariadb-prod
当我用cf push -f manifest.prod.yaml
推送应用程序时,一开始一切似乎都在工作。一切都是beeing下载和建立正确的。
但最后它崩溃了,在日志中有这个错误:
2023-03-07T14:14:13.86+0100 [CELL/0] OUT Downloading droplet...
2023-03-07T14:14:14.50+0100 [CELL/0] OUT Downloaded droplet (6.8M)
2023-03-07T14:14:14.50+0100 [CELL/0] OUT Starting health monitoring of container
2023-03-07T14:14:14.92+0100 [APP/PROC/WEB/0] ERR bash: ./main: No such file or directory
2023-03-07T14:14:14.93+0100 [APP/PROC/WEB/0] OUT Exit status 127
2023-03-07T14:14:14.93+0100 [CELL/SSHD/0] OUT Exit status 0
2023-03-07T14:14:20.21+0100 [API/1] OUT Process has crashed with type: "web"
2023-03-07T14:14:20.22+0100 [CELL/0] OUT Cell b8118f92-f568-41d6-a3a1-125361b0d5c2 stopping instance d0442bce-ea3e-4c23-5c08-6ac4
2023-03-07T14:14:20.22+0100 [CELL/0] OUT Cell b8118f92-f568-41d6-a3a1-125361b0d5c2 destroying container for instance d0442bce-ea3e-4c23-5c08-6ac4
我不知道这里出了什么问题。我尝试了很多东西,通过改变manifest.yaml或push命令。但都不管用。
1条答案
按热度按时间4xrmg8kj1#
使用go-buildpack时,您应该坚持使用此docs
一般来说,我建议使用CF Binary-Buildpack(速度更快)。
您可以在系统上构建GO应用程序作为Linux二进制文件(如下所示),然后将二进制文件和所需的资产推送到CF。