在Google App Engine上运行C ++可执行文件-错误

问题描述 投票:1回答:0

我的目标是通过Docker部署在Google App Engine上运行一个简单的C ++ Hello world程序。

我正在通过遵循本指南的终端进行此操作: https : //cloud.google.com/appengine/docs/flexible/custom-runtimes/quickstart#download_the_hello_world_app

谷歌也通过以下方式允许自定义运行时: https : //cloud.google.com/appengine/docs/flexible/custom-runtimes/about-custom-runtimes

我目录中的文件:

  • Docker文件

  • app.yaml

  • 你好(cpp可执行文件,它是静态编译的,不是动态编译的。只需打印Hello,World!)。


Docker文件

FROM alpine:3.7
COPY . /
WORKDIR /
CMD ["./hello"]

app.yaml

runtime: custom
env: flex

处理

首先:通过docker build -t hello运行Docker容器。 然后编译并输出结果:

你好,世界!

第二:由于docker容器运行完美,因此我继续前进并运行以下命令:

gcloud应用部署


错误

部署后,项目BUILDS将显示docker容器的构建,成功将其标记到云中并推送存储库并输出DONE。

我得到的错误是:

Updating service [default] (this may take several minutes)...failed.
ERROR: (cloud.app.deploy) Error Response: [9]
Application startup error:
Hello, World!

我在Google App Engine上在线查看了日志,其中显示了textPayload:“世界,您好!” 和其他信息,但是我很困惑,所以它能够成功运行还是我在这里丢失了一些东西? 它将在日志中显示,如下所示。

https://user-images.githubusercontent.com/18448620/46507626-4f37c900-c7ee-11e8-895a-8510cd46a691.png

我该如何解决这个问题? 另外,它不必是应用程序引擎,如果有一种方法可以在Google Functions上运行它,那也很好。

谢谢。

更新资料

我进入了构建项目的Google Cloud控制台,并查看了构建结果,它表明构建成功。 然后,我查看了google cloud创建的图像,并将其拉出并在云shell浏览器中运行,如下所示。

然后我单击图像并进行了docker pull ,输出如下所示:

那么这是否意味着它实际上正在工作并且已正确部署在云中?

在此处输入图片说明 建立输出

google-cloud-platform google-cloud-functions gcloud
© www.soinside.com 2019 - 2024. All rights reserved.