dongqiu9018 2014-12-25 00:07
浏览 67

是否有人能够获得Go Hello World快速入门演示,以适用于Google App Engine托管的VM?

I'm trying to follow the documentation here

gcloud config set project <project>
gcloud components update app
gcloud components update gae-go
goapp get google.golang.org/appengine
# remove existing containers & images just to be sure
docker rm $(docker ps -a -q)
docker rmi $(docker images -q)
gcloud preview app setup-managed-vms
cd $GOPATH/src/google.golang.org/appengine/demos/helloworld
gcloud --verbosity debug preview app run --enable-mvm-logs .

Everything goes well up until the last line, which results in an "Internal error while starting instance":

DEBUG: Running gcloud.preview.app.run with _Args({'admin_host': None, 'allow_skipped_files': False, 'api_host': None, 'appidentity_email_address': None, 'appidentity_private_key_path': None, 'auth_domain': 'gmail.com', 'blobstore_path': None, 'clear_datastore': False, 'dart_dev_mode': None, 'dart_pub_serve_host': None, 'dart_sdk': None, 'datastore_consistency_policy': 'time', 'datastore_path': None, 'default_gcs_bucket_name': None, 'docker_host': None, 'enable_cloud_datastore': False, 'enable_mvm_logs': True, 'enable_sendmail': False, 'format': None, 'h': None, 'help': None, 'host': None, 'jvm_flag': None, 'log_level': None, 'logs_path': None, 'markdown': None, 'max_module_instances': None, 'modules': ['.'], 'php_executable_path': None, 'project': None, 'python_startup_script': None, 'quiet': None, 'require_indexes': False, 'shell': None, 'show_mail_body': False, 'smtp_allow_tls': False, 'smtp_host': None, 'smtp_password': None, 'smtp_user': None, 'storage_path': None, 'use_mtime_file_watcher': False, 'user_output_enabled': None, 'verbosity': 'debug'}). WARNING: The [application] field is specified in file [/home/dallan/test/testvm3/src/google.golang.org/appengine/demos/helloworld/app.yaml]. This field is not used by gcloud and should be removed. DEBUG: Found Cloud SDK root: /home/dallan/tools/google-cloud-sdk DEBUG: Found App Engine SDK root: /home/dallan/tools/google-cloud-sdk/platform/google_appengine DEBUG: Command sys.path: ['/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/antlr3', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/fancy_urllib', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/ipaddr', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/yaml-3.10', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/rsa', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/pyasn1', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/pyasn1_modules', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/concurrent', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/cherrypy', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/distutils', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/requests', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/six', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/websocket', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/docker', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/jinja2-2.6', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/webob-1.2.3', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.5.1', '/home/dallan/tools/google-cloud-sdk/./lib', '/home/dallan/tools/google-cloud-sdk/lib/googlecloudsdk/gcloud', '/home/dallan/tools/google-cloud-sdk/lib', '/usr/lib/python2.7/', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload'] Module [default] found in file [/home/dallan/test/testvm3/src/google.golang.org/appengine/demos/helloworld/app.yaml] DEBUG: Detected docker environment variables: DOCKER_HOST=tcp:// localhost:2376, DOCKER_CERT_PATH=/home/dallan/.docker, DOCKER_TLS_VERIFY=1 DEBUG: Sent event: Event(category='Executions', action='gcloud', label=u'2014.12.19', value=0) INFO: Looking for the Dockerfile in /home/dallan/test/testvm3/src/google.golang.org/appengine/demos/helloworld INFO: Using Dockerfile found in /home/dallan/test/testvm3/src/google.golang.org/appengine/demos/helloworld DEBUG: Found Cloud SDK root: /home/dallan/tools/google-cloud-sdk DEBUG: Found images: [u'gcloud-credentials-image:latest', u'google/appengine-log-server:latest', u'google/appengine-log-processor:latest', u'google/appengine-go:latest', u'google/appengine-java:latest', u'google/appengine-python27:latest', u'busybox:latest', u'google/docker-registry:latest'] DEBUG: Found image: google/appengine-go DEBUG: Running [dev_appserver.py] with: --allow_skipped_files=False --application=metal-shift-360 --auth_domain=gmail.com --clear_datastore=False --datastore_consistency_policy=time --dev_appserver_log_level=debug --enable_cloud_datastore=False --enable_mvm_logs=True --enable_sendmail=False --log_level=debug --require_indexes=False --show_mail_body=False --skip_sdk_update_check=True --smtp_allow_tls=False --use_mtime_file_watcher=False /home/dallan/test/testvm3/src/google.golang.org/appengine/demos/helloworld/app.yaml INFO: Skipping SDK update check. INFO: Starting API server at: http:// localhost:49580 DEBUG: Detected docker environment variables: DOCKER_HOST=tcp:// localhost:2376, DOCKER_CERT_PATH=/home/dallan/.docker, DOCKER_TLS_VERIFY=1 DEBUG: Sent event: Event(category='Commands', action='gcloud.preview.app.run', label='unknown', value=0) DEBUG: _add_watch_for_path('/home/dallan/test/testvm3/src/google.golang.org/appengine/demos/helloworld') INFO: Looking for image_id for image with tag google/appengine-log-server INFO: Creating container... INFO: Container f243742e897d9c38c7c075bf7a6eedd3c054d68c356018c0268ba421dcab477f created. INFO: Health checks starting for instance 0. DEBUG: Performing health check for instance 0. INFO: Starting Go VM Deployment process INFO: Starting module "default" running at: http:// localhost:8080 DEBUG: Dispatching request to after 0.0000s pending INFO: Starting admin server at: http:// localhost:8000 DEBUG: Starting process ['/home/dallan/tools/google-cloud-sdk/platform/google_appengine/goroot/bin/go-app-builder', '-app_base', '/home/dallan/test/testvm3/src/google.golang.org/appengine/demos/helloworld', '-arch', '6', '-dynamic', '-goroot', '/home/dallan/tools/google-cloud-sdk/platform/google_appengine/goroot', '-nobuild_files', '^^$', '-unsafe', '-gopath', '/home/dallan/test/testvm3', '-print_extras', '-vm', 'helloworld.go'] with input='', env={'GOARCH': 'amd64', 'GOOS': 'linux'}, cwd=None INFO: Go VM Deployment process failed: [Errno 104] Connection reset by peer ERROR: Internal error while starting instance. Traceback (most recent call last): File "/home/dallan/tools/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 1823, in _start_instance if not inst.start(): File "/home/dallan/tools/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/instance.py", line 274, in start self._runtime_proxy.start() File "/home/dallan/tools/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/vm_runtime_proxy_go.py", line 130, in start self._vm_runtime_proxy.start(dockerfile_dir=dst_deployment_dir) File "/home/dallan/tools/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/vm_runtime_proxy.py", line 196, in start self._module_configuration.major_version, runtime_config.instance_id) File "/home/dallan/tools/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/log_manager.py", line 172, in add _create_table(l) File "/home/dallan/tools/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/log_manager.py", line 138, in _create_table response = conn.getresponse() File "/usr/lib/python2.7/httplib.py", line 1045, in getresponse response.begin() File "/usr/lib/python2.7/httplib.py", line 409, in begin version, status, reason = self._read_status() File "/usr/lib/python2.7/httplib.py", line 365, in _read_status line = self.fp.readline(_MAXLINE + 1) File "/usr/lib/python2.7/socket.py", line 476, in readline data = self._sock.recv(self._rbufsize) error: [Errno 104] Connection reset by peer

Any ideas what's going wrong? docker version yields

Client version: 1.3.2
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 39fa2fa
OS/Arch (client): linux/amd64
Server version: 1.3.2
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): 39fa2fa

and go version yields

go version go1.4 linux/amd64

A possible problem -- the Dockerfile generated by gcloud preview app run contains:

FROM google/appengine-go
..snip..
ADD . /app
RUN /bin/bash /app/_ah/build.sh

But when I shell into the google/appengine-go container directly using

docker run --rm -it --entrypoint /bin/bash google/appengine-go

I find that the /app directory is completely empty, and there isn't an _ah directory inside the helloworld application, so I'm not sure where /app/_ah/build.sh is supposed to be coming from. There isn't a build.sh file anywhere in the file system.

Any help is greatly appreciated. I've spent all day on this and I'm stumped.

  • 写回答

1条回答 默认 最新

  • dqol6556 2014-12-25 00:53
    关注

    I made two changes and the Hello World demo app is finally working:

    1. remove application: helloworld from app.yaml
    2. modify the generated Dockerfile to insert apt-get update && before apt-get install
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)