Google 托管 VM 错误 - 自定义入口点
Google Managed VM error - custom entry point
我是 运行 自定义托管 VM PHP、HHVM、nginx、Centos。
我在本地遇到问题 运行 并继续获取
ValueError: The --custom_entrypoint flag must be set for custom runtimes
问题。如果我使用 'dev_appserver.py app.yaml' 或 'gcloud preview app run app.yaml' gcloud -v 产生以下结果,就会发生这种情况:
$: gcloud -v
Google Cloud SDK 0.9.82
我也试过修复 SDK 版本:
这导致:
Please check if the environment variables DOCKER_HOST, DOCKER_CERT_PATH and DOCKER_TLS_VERIFY are set correctly. If you are using boot2docker, you can set them up by executing the commands that are shown by:
boot2docker shellinit
我没有使用 boot2docker 并且 Docker 是 运行 'docker -d -H tcp://localhost:2376' 并且
Docker 信息:
$ docker info
Containers: 3
Images: 137
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 143
执行驱动:native-0.2
内核版本:3.19.0-31-generic
操作系统:Ubuntu15.04
CPU:4
总内存:11.43 GiB
环境变量:
$ echo $DOCKER_HOST && echo $DOCKER_CERT_PATH && $DOCKER_TLS_VERIFY
tcp://localhost:2376
/home/mgane/ca
1
或者
这会导致同样的问题。注释掉 python 脚本中的行只会造成更多混乱甚至更多错误。
当 运行 nginx / hhvm 时,我应该实际指定什么作为自定义端点?当 运行 docker 时图像工作正常。文档为自定义入口点编写如下:
--custom-entrypoint CUSTOM_ENTRYPOINT
Specify an entrypoint for custom runtime modules. This is required when
such modules are present. Include "{port}" in the string (without
quotes) to pass the port number in as an argument. For instance:
--custom_entrypoint="gunicorn -b localhost:{port} mymodule:application"
我试过
$ gcloud preview app run app.yaml --custom-entrypoint="php -v"
然后运行图像,但我得到的只是 503 个错误。
有谁知道自定义 nginx 的入口点命令应该是什么?
Google 这里有一个 hello-world docker:https://github.com/GoogleCloudPlatform/appengine-nginx-hello
谢谢!
这个问题现在似乎已经解决了。部分原因是我在 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 中的最后一行是 运行 前台的主管:
# Executing supervisordnow
CMD ["supervisord", "-n"]
希望这对其他人有帮助!
我是 运行 自定义托管 VM PHP、HHVM、nginx、Centos。
我在本地遇到问题 运行 并继续获取
ValueError: The --custom_entrypoint flag must be set for custom runtimes
问题。如果我使用 'dev_appserver.py app.yaml' 或 'gcloud preview app run app.yaml' gcloud -v 产生以下结果,就会发生这种情况:
$: gcloud -v
Google Cloud SDK 0.9.82
我也试过修复 SDK 版本:
这导致:
Please check if the environment variables DOCKER_HOST, DOCKER_CERT_PATH and DOCKER_TLS_VERIFY are set correctly. If you are using boot2docker, you can set them up by executing the commands that are shown by: boot2docker shellinit
我没有使用 boot2docker 并且 Docker 是 运行 'docker -d -H tcp://localhost:2376' 并且
Docker 信息:
$ docker info
Containers: 3
Images: 137
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 143
执行驱动:native-0.2
内核版本:3.19.0-31-generic
操作系统:Ubuntu15.04
CPU:4
总内存:11.43 GiB
环境变量:
$ echo $DOCKER_HOST && echo $DOCKER_CERT_PATH && $DOCKER_TLS_VERIFY
tcp://localhost:2376
/home/mgane/ca
1
或者
这会导致同样的问题。注释掉 python 脚本中的行只会造成更多混乱甚至更多错误。
当 运行 nginx / hhvm 时,我应该实际指定什么作为自定义端点?当 运行 docker 时图像工作正常。文档为自定义入口点编写如下:
--custom-entrypoint CUSTOM_ENTRYPOINT
Specify an entrypoint for custom runtime modules. This is required when such modules are present. Include "{port}" in the string (without quotes) to pass the port number in as an argument. For instance: --custom_entrypoint="gunicorn -b localhost:{port} mymodule:application"
我试过
$ gcloud preview app run app.yaml --custom-entrypoint="php -v"
然后运行图像,但我得到的只是 503 个错误。
有谁知道自定义 nginx 的入口点命令应该是什么? Google 这里有一个 hello-world docker:https://github.com/GoogleCloudPlatform/appengine-nginx-hello
谢谢!
这个问题现在似乎已经解决了。部分原因是我在 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 中的最后一行是 运行 前台的主管:
# Executing supervisordnow
CMD ["supervisord", "-n"]
希望这对其他人有帮助!