【发布时间】:2021-10-20 09:21:03
【问题描述】:
我们有启动脚本,可以使用 Google API 创建监控警报。
为此,我们创建了一个邮递员集合,我们在其中捆绑了所有这些调用,然后我们希望运行一个 shell 脚本,我们将在其中使用服务帐户 json 文件并调用邮递员集合
export GOOGLE_APPLICATION_CREDENTIALS=/home/abc/sac-5f63.json
export TOKEN=$(gcloud auth application-default print-access-token)
echo $TOKEN
echo "Running postman collection start"
newman run /home/abc/API.postman_collection.json
我们为此任务创建了一个 docker 文件,其中包含所需的依赖项和 gcloud sdk 作为基础映像。
现在,我们还想为用户提供在 Google Cloud 中执行这项一次性工作的条件。为此,我们正在考虑 Cloud Run、Cloud Function、App Engine 等选项。但是,所有这些服务都暴露了一个端点,然后必须调用它,服务将执行操作。
我们的要求是一次性活动,因此我们不想让服务一直运行。还有,这不是这些服务支持的node js、java、go应用。
它更像是一个一次性的工作任务,应该触发它的工作然后停止。
谷歌云是否支持这样的用例。基本的 hello world docker 就是我们有这种要求的一个例子—— https://hub.docker.com/_/hello-world
我们尝试了云运行,但它希望存在一个端口号,否则它会失败
部署失败
错误:(gcloud.run.deploy)云运行错误:容器无法启动。 无法启动并监听 PORT 定义的端口 环境变量。此修订的日志可能包含更多 信息。
请分享一些想法。
谢谢, 阿卡什
【问题讨论】:
标签: docker google-cloud-platform google-cloud-functions google-cloud-run