2015-04-11 16 views
12

Tôi đang cố gắng xem trước ứng dụng Go docker (App Engine ManagedVM) bằng lệnh chạy ứng dụng xem trước gcloud.Golang: Xem trước lỗi trả về ứng dụng VM được quản lý

Nhưng tôi cứ bị lỗi này:

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] 

Tôi xác nhận rằng Docker là lên và chạy bằng tình trạng boot2docker trả về chạy Đây là làm việc trước nhưng sau khi khởi động lại máy, không có gì dường như làm việc. Bất kỳ ý tưởng?

Trả lời

4

Vấn đề chính là:

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] 

Mà thường là trường hợp khi bạn có một proxy, và được thảo luận trong pip issue 1805

Đây là vụ phải được cố định trong pip1.6, nhưng chỉ trong trường hợp, bạn có thể thử các 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

Cố gắng giải pháp của bạn và nó không hoạt động .. – jwesonga

+0

@jwesonga bạn có thể kiểm tra phiên bản của pip được sử dụng trong vùng chứa docker của bạn? – VonC

+0

Làm cách nào để kiểm tra trong vùng chứa docker? Cũng giống như một bên tôi đang ở trên OSX – jwesonga

0

các đồng gcloud mmand cho phép quá trình ah_host và cũng tạo ra hình ảnh docker của ứng dụng của bạn và chuyển nó vào daemon Docker, trong trường hợp của bạn có vẻ như docker daemon của bạn không đáp ứng yêu cầu. Vì vậy, để đảm bảo, hãy thực hiện "sudo docker -d" để kiểm tra xem trình nền Docker có đang chạy trên máy của bạn hay không. Ngoài ra, hãy kiểm tra xem, đường dẫn của chứng chỉ bạn đã đặt chính xác và giá trị của TLS_VERIFY là TRUE.

Đi qua các tài liệu [1] cho việc cài đặt của Docker trên hệ điều hành MacOS

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

+0

Tôi chạy "sudo docker -d" và có "Đây là một nhị phân chỉ dành cho máy khách - chạy trình nền Docker không được hỗ trợ" – jwesonga

+0

Tìm ra "vấn đề" là gì, vì một lý do kỳ lạ nào đó tôi phải chạy "eval" $ (boot2docker shellinit) "trong terminal trước khi chạy" ứng dụng xem trước gcloud chạy "Nếu tôi mở một thiết bị đầu cuối mới, tôi phải lặp lại quá trình này. Tôi không nghĩ đây là trường hợp vì tôi đã thêm các biến môi trường vào ~/.bash_profile, đây có phải là hành vi dự định không? – jwesonga

+0

@jwesonga: bạn cũng có thể thử xuất echo echo DOCKER_HOST = tcp: // ip: port >> ~/.bashrc && source ~/.bashrc, rồi chạy nguồn .bash_profile và xem liệu nó hoạt động. – Shobhit

Các vấn đề liên quan