当前位置: 首页 > 面试题库 >

在Google云端上运行node.js,但在docker上运行时出错

赵明亮
2023-03-14
问题内容

我尝试了以下文档以在Google云上运行node.js应用程序:https : //cloud.google.com/nodejs/getting-started/hello-
world

Node.js运行正常,但是如果我运行,gcloud preview app run app.yaml我会…。

    File "/Users/me/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 83, in <module>
  _run_file(__file__, globals())
File "/Users/me/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 79, in _run_file
  execfile(_PATHS.script_file(script_name), globals_)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 1020, in <module>
  main()
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 1013, in main
  dev_server.start(options)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 810, in start
  self._dispatcher.start(options.api_host, apis.port, request_data)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 193, in start
  _module, port = self._create_module(module_configuration, port)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 278, in _create_module
  threadsafe_override=threadsafe_override)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 1536, in __init__
  super(ManualScalingModule, self).__init__(**kwargs)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 555, in __init__
  self._module_configuration)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 259, in _create_instance_factory
  module_configuration=module_configuration)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/vm_runtime_factory.py", line 71, in __init__
  8 if runtime_config_getter().threadsafe else 1, 10)
File "/Users/me/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 391, in _get_runtime_config
  raise ValueError('The --custom_entrypoint flag must be set for '
ValueError: The --custom_entrypoint flag must be set for custom runtimes
ERROR: (gcloud.preview.app.run) DevAppSever failed with error code [1]

问题答案:

最新的Google Cloud SDK 0.9.65版本存在一个错误。

您可以使用以下命令还原到Cloud SDK 0.9.64:

gcloud config set component_manager/fixed_sdk_version 0.9.64
gcloud components update

下一个版本应具有此修复程序。

要返回到当前版本的SDK,请运行:

gcloud config unset --scope=installation component_manager/fixed_sdk_version
gcloud components update

SDK版本0.9.82的更新

Node.js应用程序不再需要Docker。如果不依赖于AppEngine特定的API,则在本地运行应用的首选方法是:

npm install
npm start

在您的app.yaml文件中包括以下内容:

runtime: nodejs
vm: true
api_version: 1


 类似资料:
  • 问题内容: 我在CI和CD上创建了Jenkinsfile,Dockerfile,Dockerfile.test到CI和CD,在GitHub上构建了我的服务器API,我在Jenkins上构建了该构建,并且构建成功,并且我的docker在Jenkinsfile阶段也在容器上运行,我创建了用于测试和部署在服务器API上,并使用docker作为容器 我也使用docker-compose在docker上运行

  • 问题内容: 我有一个Docker映像,它是一个node.js应用程序。该应用程序从本地运行的Redis检索一些配置值。因此, 我试图在Docker映像内的同一容器内安装和运行Redis。 如何扩展Docker文件并在其中配置Redis? 到目前为止,Dockerfile如下: 从节点:碳 WORKDIR / app COPY package.json / app 运行npm安装 复制。/ app

  • 我想通过Docker容器在AWS Lamda上运行selenium脚本。 我正在使用AWS EC2构建容器,然后通过AWS Lambda RIE在本地测试容器。一旦测试成功,容器将在ECR注册,以便馈送AWS Lambda。 尽管RIE在EC2上的本地测试总是成功的,但我无法让Lambda正常工作。Lambda测试当前总是失败,并显示以下错误消息: 在这里,您可以找到我实际使用的所有代码: 文档

  • 问题内容: 提出的每个选项都有一个问题: 我想在普通设备上运行它,所以我希望避免在设备上安装其他操作系统 上个月停止了对JXCore的工作,并且(可能是结果)我无法对其进行编译 自2014年以来就没有开发过NodeJs Anode的Android Port,而且当时并没有真正维护它 我链接到的第二个线程中的第二个答案现在提到了Android的官方节点发行版,但是除了指向最新dist的Browse-

  • 问题内容: 借助Android 4.4 KitKat,Google将linux内核升级到3.8版,这是Docker所需的内核版本。 我不知道AUFS部分,但是有没有办法通过此更新在android上运行docker容器? 问题答案: 根据文档,Android内核缺少LXC所需的很多内核功能。 也许将来使用Docker 1.x,可能会编写一个使用Android功能而非LXC的插件。但就目前而言,您需要