2015-04-11 5 views
12
zurück

Ich versuche, eine Go-Andock-App (App Engine ManagedVM) mithilfe des Befehls gcloud preview app run anzuzeigen.Golang: Vorschau der verwalteten VM-App gibt den Fehler

Aber ich halte diesen Fehler:

Traceback (most recent call last): 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 83, in <module> 
    _run_file(__file__, globals()) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/dev_appserver.py", line 79, in _run_file 
    execfile(_PATHS.script_file(script_name), globals_) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 985, in <module> 
    main() 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 978, in main 
    dev_server.start(options) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/devappserver2.py", line 774, in start 
    self._dispatcher.start(options.api_host, apis.port, request_data) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 182, in start 
    _module, port = self._create_module(module_configuration, port) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/dispatcher.py", line 262, in _create_module 
    threadsafe_override=threadsafe_override) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 1463, in __init__ 
    super(ManualScalingModule, self).__init__(**kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 514, in __init__ 
    self._module_configuration) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/module.py", line 237, in _create_instance_factory 
    module_configuration=module_configuration) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/vm_runtime_factory.py", line 78, in __init__ 
    timeout=self.DOCKER_D_REQUEST_TIMEOUT_SECS) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/google/appengine/tools/docker/containers.py", line 740, in NewDockerClient 
    client.ping() 
    File "/Users/jwesonga/google-cloud-sdk/./lib/docker/docker/client.py", line 711, in ping 
    return self._result(self._get(self._url('/_ping'))) 
    File "/Users/jwesonga/google-cloud-sdk/./lib/docker/docker/client.py", line 76, in _get 
    return self.get(url, **self._set_request_timeout(kwargs)) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/sessions.py", line 468, in get 
    return self.request('GET', url, **kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/sessions.py", line 456, in request 
    resp = self.send(prep, **send_kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/sessions.py", line 559, in send 
    r = adapter.send(request, **kwargs) 
    File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine/lib/requests/requests/adapters.py", line 384, in send 
    raise Timeout(e, request=request) 
requests.exceptions.Timeout: (<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x10631c7d0>, 'Connection to 192.168.59.104 timed out. (connect timeout=60)') 
ERROR: (gcloud.preview.app.run) DevAppSever failed with error code [1] 

Ich habe bestätigt, dass Docker ist und läuft mit boot2docker Status die läuft wieder vor Dies war arbeiten aber nach einem Neustart der Maschine, nichts scheint arbeiten. Irgendwelche Ideen?

Antwort

4

Das Hauptproblem ist:

File "/Users/jwesonga/google-cloud-sdk/platform/google_appengine 
     /lib/requests/requests/adapters.py", line 384, in send 
    raise Timeout(e, request=request) 
requests.exceptions.Timeout: 
(<requests.packages.urllib3.connection.VerifiedHTTPSConnection object 
at 0x10631c7d0>, 'Connection to 192.168.59.104 timed out. 
(connect timeout=60)') 
ERROR: (gcloud.preview.app.run) DevAppSever failed with error code [1] 

was oft der Fall ist, wenn Sie einen Proxy haben, und wird in pip issue 1805

Es soll fixiert werden in pip1.6 diskutiert, aber nur in Fall können Sie die workaround of alexandrem

/opt/venvs/ironic/lib/python2.6/site-packages/pip/_vendor/requests 
/adapters.patch.py /opt/venvs/ironic/lib/python2.6/site-packages 
/pip/_vendor/requests/adapters.py 
209c209 
if True or not proxy in self.proxy_manager: 
    ^^^^ 

basically I just add a True to the condition on line 209 of the adapter.py to always create a ProxyManager instance, thus skipping the pool manager logic.

+0

Versuchte Ihre Lösung und es funktioniert nicht .. – jwesonga

+0

@jwesonga können Sie die Version von pip überprüfen in Ihrem Docker Container verwendet? – VonC

+0

Wie überprüfe ich das im Andock-Container? Nur als eine Seite bin ich auf OSX – jwesonga

0

die gcloud co versuchen mmund aktivieren Sie den Prozess ah_host und erstellen Sie das Docker-Image Ihrer App und übergibt es an den Docker-Daemon. In Ihrem Fall scheint Ihr Docker-Daemon nicht auf die Anfrage zu antworten. Führen Sie also "sudo docker -d" aus, um zu überprüfen, ob der Docker-Daemon auf Ihrem Rechner läuft oder nicht. Überprüfen Sie außerdem, ob der Pfad des Zertifikats, den Sie korrekt festgelegt haben, und der Wert von TLS_VERIFY TRUE ist.

Gehen Sie durch die Dokumentation [1] für die Installation von Docker auf MacOS

[1] https://docs.docker.com/installation/mac/

+0

Ich lief "sudo docker-d" und bekam "Dies ist eine reine Client-binäre - Ausführen des Docker-Daemon wird nicht unterstützt" – jwesonga

+0

Herausgefunden, was das "Problem" ist, aus irgendeinem seltsamen Grund muss ich "eval" $ ausführen (boot2docker shellinit) "im Terminal vor der Ausführung" gcloud preview app run "Wenn ich ein neues Terminal öffne, muss ich den Vorgang wiederholen. Ich dachte nicht, dass dies der Fall ist, da ich die Umgebungsvariablen zu meinem ~/hinzugefügt habe. .bash_profile, ist dies das beabsichtigte Verhalten? – jwesonga

+0

@jwesonga: Sie können auch versuchen, Echo-Export DOCKER_HOST = tcp: // ip: port >> ~/.bashrc && source ~/.bashrc, und dann ausführen Quelle .bash_profile und sehen, ob Es klappt. – Shobhit