1

我正在使用 PHP、HHVM、nginx、Centos 运行自定义托管 VM。

我在本地运行它时遇到问题并继续获取

ValueError:必须为自定义运行时设置 --custom_entrypoint 标志

问题。如果我使用 'dev_appserver.py app.yaml' 或 'gcloud preview app run app.yaml' gcloud -v 会产生以下结果:

$: gcloud -v

谷歌云 SDK 0.9.82

我还尝试按照以下方式修复 SDK 版本: Running node.js on google cloud, but error running with docker

这导致:

请检查环境变量 DOCKER_HOST、DOCKER_CERT_PATH 和 DOCKER_TLS_VERIFY 是否设置正确。如果您使用的是 boot2docker,您可以通过执行如下所示的命令来设置它们: boot2docker shellinit

我没有使用 boot2docker 并且 Docker 正在使用 'docker -d -H tcp://localhost:2376' 和

码头工人信息:

$ 码头工人信息

容器:3

图片:137

存储驱动程序:aufs

根目录:/var/lib/docker/aufs

支持文件系统:extfs

目录:143

执行驱动程序:native-0.2

内核版本:3.19.0-31-generic

操作系统:Ubuntu 15.04

中央处理器:4

总内存:11.43 GiB

环境变量:

$ 回声 $DOCKER_HOST && 回声 $DOCKER_CERT_PATH && $DOCKER_TLS_VERIFY

tcp://localhost:2376

/home/mgane/ca

1

或者 如何修复“必须为自定义运行时设置 --custom_entrypoint 标志”?

这会导致相同的问题。在 python 脚本中注释掉行只会造成更多的混乱甚至更多的错误。

运行 nginx / hhvm 时,我应该实际指定什么作为自定义端点?使用 docker 运行时,图像工作正常。文档为自定义入口点编写如下:

--custom-entrypoint CUSTOM_ENTRYPOINT

为自定义运行时模块指定入口点。当存在此类模块时,这是必需的。在字符串中包含“{port}”(不带引号)以将端口号作为参数传递。例如:--custom_entrypoint="gunicorn -b localhost:{port} mymodule:application"

我试过类似的东西

$ gcloud preview app run app.yaml --custom-entrypoint="php -v"

然后运行图像,但我得到的只是 503 错误。

有谁知道自定义 nginx 的入口点命令应该是什么?谷歌在这里有一个 hello-world docker:https ://github.com/GoogleCloudPlatform/appengine-nginx-hello

谢谢!

4

1 回答 1

0

这个问题现在似乎已经消失了。部分原因是我对我的 app.yaml 的配置错误仍然与我对 PHP AppEngine 的配置太接近了

谷歌云 SDK 目前版本为 0.9.84

我的 app.yaml 现在如下所示:

runtime: custom
vm: true
api_version: 1
threadsafe: yes

manual_scaling:
  instances: 1

vm_settings:
  machine_type: f1-micro

vm_health_check:
  enable_health_check: false

handlers:
- url: .*
  script: nothing.php

应该注意的是“nothing.php”不存在。我可以通过简单地在本地运行 docker 映像来测试本地部署。由于过去几周的更新,他们现在可以很好地部署到 Google Cloud。

我的 Dockerfile 中的最后一行是在前台运行 supervisor:

# Executing supervisordnow
CMD ["supervisord", "-n"]

希望这对其他人有帮助!

于 2015-11-11T10:06:53.220 回答