Docker-machine:找不到ca.pem

时间:2015-07-22 11:27:36

标签: ssl docker virtualbox boot2docker docker-machine

我在这里使用docker机器创建一个测试机器(dev)。

$ docker-machine create -d virtualbox dev
Creating CA: C:\Users\xxx\.docker\machine\certs\ca.pem
Creating client certificate: C:\Users\xxx\.docker\machine\certs\cert.pem
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...

vm被创建并运行时没有缺陷。     当我运行以下命令时出现错误:

$ docker-machine env dev

open C:\Users\xxx\.docker\machine\machines\dev\ca.pem: The system cannot fin
d the file specified.

我不知道如何处理这个问题。尝试重新启动boot2docker。

5 个答案:

答案 0 :(得分:5)

您应该尝试使用docker-machine regenerate-certs dev。我认为这个问题是你的.pem文件被删除或者没有被创建。我有同样的问题,并重新生成证书修复了问题(重启没有帮助顺便说一句)。

答案 1 :(得分:3)

我得到了完全相同的错误。结果是Cisco AnyConnect客户端影响了我的网络设置。退出AnyConnect是不够的,您必须重新启动计算机才能恢复设置。

如果有人更了解AnyConnect如何影响事物,如果有更好的解决方案比重新启动,我很乐意听到它!

答案 2 :(得分:1)

从" C:\ Users \ xxx \ .docker \ machine \ certs"

复制证书

将证书粘贴到" C:\ Users \ xxx \ .docker \ machine \ machines \ dev"

答案 3 :(得分:0)

我猜您正在得到 Docker-machine:找不到ca.pem 错误,即使您使用docker info或任何带有docker的命令

请尝试以下命令:docker-machine env -u 输出将类似于:

  

取消设置DOCKER_TLS_VERIFY

     

取消设置DOCKER_HOST

     

取消设置DOCKER_CERT_PATH

     

取消设置DOCKER_MACHINE_NAME

     

#运行此命令以配置您的Shell:

     

#eval $(docker-machine env -u)

现在输入eval $(docker-machine env -u)

这应该做的工作。尝试使用docker info可以确保最终确定。

答案 4 :(得分:0)

注意:此错误是在Windows 10 Docker上

这是我的错误:

@user ➜  git-repo git(users/user/dev) ✗  docker
unable to resolve docker endpoint: open C:\Users\user\.docker\ca.pem: The system cannot find the file specified.

这是我用来重新创建我命名为 generate_docker_cert.sh 的证书的shell文件的链接:

https://gist.github.com/bradrydzewski/a6090115b3fecfc25280

所以我去了那个错误输出的目录:

cd C:\Users\user\.docker\

创建了该文件:

notepad generate_docker_cert.sh

将链接中的值复制到此处并保存。

然后运行该.sh文件:

.\generate_docker_cert.sh

然后docker命令起作用:

@user ➜  git-repo git(users/user/dev) ✗  docker

Usage:  docker [OPTIONS] COMMAND

A self-sufficient runtime for containers
...