0

Google AppEngine にデプロイしようとしています。(より正確には、マネージド VM。)

以前、クラウドに組み込まれた Docker を使用して Windows からこれを実行しようとしましたが、失敗しました ( StackOverflow の質問を参照)。だから今、私はLinuxから、Dockerをローカルに構築してみました。

これも失敗しますが、別の理由があります。さまざまな Linux 開発マシンから一貫して失敗します。Google Cloud の Linux VM から同じコマンドを実行すると成功します。

これを展開するにはどうすればよいですか?

gcloud preview app deploy  /shared/yaml-war/app.yaml --version=joshua20160317a --project=mytest-test1

Linux コンソール出力

gcloud preview app deploy  /shared/yaml-war/app.yaml --version=joshua20160316a --project=mytest-test1WARNING: The `gcloud preview app` surface is rapidly improving. Look out for
changing flags and new commands before the transition out of the `preview`
component. These changes will be documented in the Cloud SDK release notes
<https://dl.google.com/dl/cloudsdk/release/RELEASE_NOTES> and via deprecation notices for changing commands.

If you would like to avoid changing behavior, please pin to a fixed version of
the Google Cloud SDK as described under the "Alternative Methods" section of the
Cloud SDK web site: <https://cloud.google.com/sdk/#alternative>.

You are about to deploy the following modules:
 - mytest-test1/default (from [/shared/yaml-war/app.yaml])
     Deployed URL: [https://joshua20160316a-dot-mytest-test1.appspot.com]
     (add --promote if you also want to make this module available from
     [https://mytest-test1.appspot.com])

Do you want to continue (Y/n)?  Y

Beginning deployment...
Verifying that Managed VMs are enabled and ready.
If this is your first deployment, this may take a while...done.

Provisioning remote build service.
Copying certificates for secure access. You may be prompted to create an SSH keypair.
Warning: Permanently added '104.197.56.233' (ECDSA) to the list of known hosts.
Building and pushing image for module [default]
----------------------------- DOCKER BUILD OUTPUT ------------------------------
^[Beginning teardown of remote build environment (this may take a few seconds).
ERROR: gcloud crashed (SSLError): The write operation timed out

If you would like to report this issue, please run the following command:
  gcloud feedback
Deleted [https://www.googleapis.com/compute/v1/projects/mytest-test1/zones/us-central1-f/instances/gae-builder-vm-joshua20160316a].

ローカル ログ ファイルの関連部分 (ターミナル以外の情報はほとんどありません)。

2016-03-16 17:01:05,369 INFO     root            Building docker image mytest-test1.default.joshua20160316a from /shared/yaml-war/Dockerfile:
2016-03-16 17:01:05,369 INFO     ___FILE_ONLY___ ----------------------------- DOCKER BUILD OUTPUT ------------------------------

2016-03-16 17:02:24,730 DEBUG    docker.docker.api.build Looking for auth config
2016-03-16 17:02:24,730 DEBUG    docker.docker.api.build Sending auth config (u'https://bucket.gcr.io', u'https://appengine.gcr.io', u'https://eu.gcr.io', u'https://gcr.io', u'https://us.gcr.io', u'https://asia.gcr.io', u'https://b.gcr.io')
2016-03-16 17:25:07,109 INFO     root            Tearing down remote build vm.
2016-03-16 17:25:07,110 INFO     ___FILE_ONLY___ Beginning teardown of remote build environment (this may take a few seconds).

2016-03-16 17:25:07,110 DEBUG    root            The write operation timed out
Traceback (most recent call last):
  File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/calliope/cli.py", line 609, in Execute
    result = args.cmd_func(cli=self, args=args)
  File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/calliope/backend.py", line 1228, in Run
    resources = command_instance.Run(args)
  File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/surface/preview/app/deploy.py", line 256, in Run
    remote_build)
  File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 177, in BuildAndPushDockerImages
    info.file, docker_client, image_name)
  File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/deploy_command_util.py", line 248, in BuildAndPushDockerImage
    image.Build(docker_client)
  File "/home/joshua/google-cloud-sdk/lib/googlecloudsdk/api_lib/app/docker_image.py", line 98, in Build
    nocache=self._nocache, rm=self._rm, pull=False)
  File "/home/joshua/google-cloud-sdk/./lib/third_party/docker/docker/api/build.py", line 97, in build
    timeout=timeout,
  File "/home/joshua/google-cloud-sdk/./lib/third_party/docker/docker/client.py", line 107, in _post
    return self.post(url, **self._set_request_timeout(kwargs))
  File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/sessions.py", line 507, in post
    return self.request('POST', url, data=data, json=json, **kwargs)
  File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/sessions.py", line 464, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/home/joshua/google-cloud-sdk/./lib/third_party/requests/adapters.py", line 431, in send
    raise SSLError(e, request=request)
SSLError: The write operation timed out
2016-03-16 17:25:07,114 ERROR    root            gcloud crashed (SSLError): The write operation timed out
2016-03-16 17:25:07,131 INFO     ___FILE_ONLY___ 
4

2 に答える 2

3

コメントできないので回答します-

gcloud を使用したデプロイで同様のタイムアウト/エラーが発生しましたが、gcloud ツール自体、または場合によっては SDK をアップグレードすることで常に修正されました。最新バージョンの gcloud を実行していますか?

于 2016-03-18T17:21:25.510 に答える
2

あなたのビルドは次の行で失敗しています:

ERROR: gcloud crashed (SSLError): The write operation timed out

これはおそらく、gcloud から (ローカル) docker デーモンへの HTTP リクエストです。docker クライアント (つまり、gcloud) は、docker ビルド コンテキスト (docker build が呼び出されたディレクトリの tarball) を docker デーモンに送信しています。そのために書き込みタイムアウトが発生するのは奇妙です。プロジェクトが大きすぎますか (GiB+ など)? docker build同じディレクトリでバニラを実行してみましたか?

--verbosity debug追加のデバッグ情報を取得しようとする場合があります。実際、これはログファイルで見つけたものを出力するだけだと思います (ログファイルを貼り付けてくれてありがとう)。

于 2016-04-05T17:02:09.367 に答える