我正在尝试根据以下手册在 Ubuntu 中安装 Google Cloud Managed VM:[1] , [2]
我已经按照 Docker installation guide 安装了 Docker .
使用以下命令运行 Docker:sudo docker -H tcp://127.0.0.1:2376 -d
我已经根据 HTTPS Docker guide 创建了证书 key .
我的环境变量:
- DOCKER_HOST=tcp://:2376
- DOCKER_TLS_VERIFY=1
- DOCKER_CERT_PATH=/home/eyalev/ca
当我运行 gcloud preview app setup-managed-vms
我得到一个错误:
https://gist.github.com/eyalev/aab86463bc63f4319d5c
Traceback (most recent call last):
File "/home/eyalev/Software/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py",
line 153, in <module> main() File "/home/eyalev/Software/google-cloud-sdk/./lib/googlecloudsdk/gcloud/gcloud.py",
line 149, in main _cli.Execute() File "/home/eyalev/Software/google-cloud-sdk/./lib/googlecloudsdk/calliope/cli.py",
line 381, in Execute post_run_hooks=self.__post_run_hooks, kwargs=kwargs) File "/home/eyalev/Software/google-cloud-sdk/./lib/googlecloudsdk/calliope/frontend.py",
line 274, in _Execute pre_run_hooks=pre_run_hooks, post_run_hooks=post_run_hooks) File "/home/eyalev/Software/google-cloud-sdk/./lib/googlecloudsdk/calliope/backend.py",
line 887, in Run result = command_instance.Run(args) File "/home/eyalev/Software/google-cloud-sdk/lib/googlecloudsdk/appengine/app_commands/setup_managed_vms.py",
line 37, in Run setup_registry.SetupRegistry() File "/home/eyalev/Software/google-cloud-sdk/./lib/googlecloudsdk/appengine/lib/images/setup_registry.py",
line 32, in SetupRegistry timeout=config.DOCKER_D_REQUEST_TIMEOUT) File "/home/eyalev/Software/google-cloud-sdk/platform/google_appengine/google/appengine/tools/docker/containers.py",
line 663, in NewDockerClient 'Couldn\'t connect to the docker daemon using the specified ' google.appengine.tools.docker.containers.DockerDaemonConnectionError:
Couldn't connect to the docker daemon using the specified environment
variables. Please check the environment variables DOCKER_HOST,
DOCKER_CERT_PATH and DOCKER_TLS_VERIFY are set correctly. If you are
using boot2docker, make sure you have run "$(boot2docker shellinit)"
有什么我想念的吗?
最佳答案
我终于得到了gcloud preview app setup-managed-vms
在 ubuntu 上工作。这是我必须做的:
获取 docker 1.3.0,而不是 1.3.1。
sudo apt-get install docker.io
在我的机器上安装了旧版本的 docker,所以我必须先删除它。但是curl -sSL https://get.docker.com/ubuntu/ | sudo sh
安装版本 1.3.1,这也不起作用。我在https://get.docker.com/ubuntu/
重播了脚本中的每一行但我不得不更改最后一行apt-get install -y lxc-docker
至apt-get install -y lxc-docker-1.3.0
官方文档提到应用引擎不适用于 boot2docker 1.3.1,但我认为他们的意思是它不适用于 docker 1.3.1。我无法将 127.0.0.1 作为我的主机名。我不得不使用
localhost
创建 CA 和服务器证书时。我必须导出
DOCKER_HOST=tcp://localhost:2376
(注意使用 localhost)以及DOCKER_TLS_VERIFY=1
和DOCKER_CERT_PATH=<path>
我将/etc/default/docker 中的 DOCKER_OPTS 设置为
"--tlsverify --tlscacert=<path>/ca.pem --tlscert=<path>/server-cert.pem --tlskey=<path>/server-key.pem -H=0.0.0.0:2376"
gcloud preview app setup-managed-vms
现在有效,但我还没有得到 gcloud preview app run
让我的 go 应用程序正常工作。
关于python - 在 Ubuntu 中设置 Google Cloud Managed VM 时出现 Docker Daemon 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842682/