我的目标是通过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!)。
FROM alpine:3.7
COPY . /
WORKDIR /
CMD ["./hello"]
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:“世界,您好!” 和其他信息,但是我很困惑,所以它能够成功运行还是我在这里丢失了一些东西? 它将在日志中显示,如下所示。
我该如何解决这个问题? 另外,它不必是应用程序引擎,如果有一种方法可以在Google Functions上运行它,那也很好。
谢谢。
我进入了构建项目的Google Cloud控制台,并查看了构建结果,它表明构建成功。 然后,我查看了google cloud创建的图像,并将其拉出并在云shell浏览器中运行,如下所示。
然后我单击图像并进行了docker pull ,输出如下所示:
那么这是否意味着它实际上正在工作并且已正确部署在云中?