【问题标题】:Docker-machine : ca.pem not foundDocker 机器:找不到 ca.pem
【发布时间】:2015-07-22 11:27:35
【问题描述】:

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

$ 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...

虚拟机被创建并运行,没有任何缺陷。 这是我运行以下命令时的错误:

$ docker-machine env dev

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

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

【问题讨论】:

    标签: ssl docker virtualbox boot2docker docker-machine


    【解决方案1】:

    您应该尝试使用docker-machine regenerate-certs dev。我认为的问题是您的 .pem 文件以某种方式被删除或未被创建。我遇到了同样的问题,重新生成证书解决了这个问题(重启并没有帮助)。

    【讨论】:

    • 为我工作,是的,看起来在创建 VM docker-machine 时仅在 .docker\machine\certs\ 文件夹中添加所有证书,但期望在 .docker\machine\machines\\运行此命令也将证书添加到
    【解决方案2】:

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

    如果有人更了解 AnyConnect 对事物的影响以及是否有比重启更好的解决方案,我很想听听!

    【讨论】:

    • 嗨大卫,我没有使用 AnyConnect。
    • 拥有 AnyConnect 似乎肯定会导致问题。调用docker-machine env default 时,原始设置说明无法正常工作,但如果我重新启动然后执行命令docker-machine create -d virtualbox dev,后续docker run hello-world 工作正常。为了确保,我再次启动了 AnyConnect,并尝试使用相同的命令创建 qa 机器,但失败并出现相同的错误
    【解决方案3】:

    从“C:\Users\xxx\.docker\machine\certs”复制证书

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

    【讨论】:

      【解决方案4】:

      我猜你得到 Docker-machine : ca.pem not found 错误,即使你使用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 确定。

      【讨论】:

        【解决方案5】:

        注意:此错误出现在 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.
        

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

        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
        ...
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-03-16
          • 2020-07-08
          • 2018-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-15
          • 1970-01-01
          相关资源
          最近更新 更多