我正在使用PHP,HHVM,nginx,Centos运行自定义托管VM。
我在本地运行它并遇到问题
ValueError:必须为自定义运行时设置--custom_entrypoint标志
问题。如果我使用' dev_appserver.py app.yaml'或者&#g; gcloud预览应用运行app.yaml' gcloud -v产生以下内容:
$:gcloud -v
Google Cloud 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'和
Docker Info:
$ docker info
容器:3
图片:137
存储驱动程序:aufs
Root Dir:/ var / lib / docker / aufs
备份文件系统:extfs
Dirs:143
执行驱动程序:native-0.2
内核版本:3.19.0-31-generic
操作系统:Ubuntu 15.04
CPUs:4
总记忆:11.43 GiB
环境变量:
$ echo $ DOCKER_HOST&& echo $ DOCKER_CERT_PATH&& $ DOCKER_TLS_VERIFY
TCP://本地主机:2376
/家庭/ mgane / CA
1
或者 How to fix "`The --custom_entrypoint flag must be set for custom runtimes`"?
这导致了同样的问题。在python脚本中注释掉行只会造成更多混乱甚至更多错误。
在运行nginx / hhvm时,我应该将其实际指定为自定义端点?使用docker运行时图像工作正常。自定义入口点的文档编写如下:
- custom-entrypoint CUSTOM_ENTRYPOINT
指定自定义运行时模块的入口点。这是必需的 存在这样的模块。包括" {port}"在字符串中(没有 引号)将端口号作为参数传递。例如: --custom_entrypoint =" gunicorn -b localhost:{port} mymodule:application"
我尝试过像
这样的事情$ gcloud预览应用运行app.yaml --custom-entrypoint =" php -v"
然后运行图像,但我得到的只是503错误。
有谁知道自定义nginx的入口点命令应该是什么? Google在这里有一个问候世界的码头工具:https://github.com/GoogleCloudPlatform/appengine-nginx-hello
谢谢!
答案 0 :(得分:0)
这个问题现在似乎已经消失了。部分是由于我在app.yaml上的配置错误仍然与我对PHP AppEngine的距离太近了
Google云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"]
希望这有助于其他人!