繁体   English   中英

尝试启动docker时不断获取无法读取CA证书

[英]Keep getting Could not read CA certificate when trying to start docker

我正在尝试从 boot2docker 迁移到 docker-machine。

我按照此处的说明安装 docker,但我不断收到以下消息:

Could not read CA certificate "/Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem": open /Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem: no such file or directory

当我运行大多数 docker 命令时。

我在这里找到了我的解决方案

我需要更新我的 .bash_profile 看起来像:

export DOCKER_HOST=tcp://192.168.99.100:2376
export DOCKER_MACHINE_NAME=default
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=~/.docker/machine/machines/default

然后运行以下命令来生成缺失的 ca.pem:

docker-machine regenerate-certs default

我发布了这个以防这可以帮助其他人。 感谢/道具去 github 上那个线程中的每个人,这是一个小时的痛苦后发现的。

请遵循本指南: Docker for Mac vs Docker Toolbox

为我工作,您需要取消设置变量而不是为 mac 创建它们。

# grep for DOCKER ENV vars
env | grep DOCKER
unset <DOCKER_VARS>

通常大多数人都安装了 boot2docker 和旧版本的 virtualbox。 正如安装指南中所说,在为Mac安装Docker之前,我们必须卸载boot2docker并重新安装virtualbox到高版本。 https://docs.docker.com/engine/installation/mac/#/docker-for-mac

即使我们已经为 Mac 安装了 Docker,我们仍然遇到错误“无法读取 CA 证书”。

我的解决方案是从.bash_profile删除与 docker 相关的环境变量 (DOCKER*)。 这似乎是一个长期的解决方案。

  1. vim ~/.bash_profile

  2. 评论类似DOCKER_* 的内容

  3. source ~/.bash_profile

  4. 重新启动终端,运行应该没有问题: docker infodocker ps

希望能帮助到你。

我遇到了同样的错误,因为我将环境设置为特定的 docker 机器,后来我删除了该机器,但我的环境仍然设置为已删除的机器。 因此 docker 调用被重定向到导致错误的不存在的机器。

我取消了环境变量的设置,问题得到了解决:

eval $(docker-machine env -u)

要查看将取消设置哪个环境变量,请运行:

docker-machine env -u

如果该文件存在于DOCKER_CERT_PATH变量中,则该错误也可能是由于文件权限问题引起的。 请检查此用例。

我在MacOS上清洁参考遗漏证书的解决方案,这是不是在~/.bash_profile~/.bashrc是:

unset ${!DOCKER*}

来源: https : //forums.docker.com/t/initial-install-of-docker-for-mac-could-not-read-ca-certificate/9170/7

来自 Mac 上启动板的 Docker 停止工作以及来自终端的命令。 我只想说我为我做了什么来修复它,不管它是否有意义,以防它帮助别人。

  • 我跑了unset ${!DOCKER*}
  • 然后我跑了:

     export DOCKER_HOST=tcp://192.168.99.100:2376 export DOCKER_MACHINE_NAME=default export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH=~/.docker/machine/certs/
  • 然后我跑了: docker (它只是部分工作)

  • 然后我再次运行: unset ${!DOCKER*}
  • 然后我从 Launchpad 启动了 docker,给了它一分钟,现在它再次运行,一切都恢复正常。

如果还是不行,运行:

find . -name ca.pem

要找出它在哪里,然后修改DOCKER_CERT_PATH=<the path you find out> ,在 Mac 上,它必须是.bash_profile 如果您在 yo .oh-my-zsh它,它将不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM