尝试启动时继续获取无法读取 CA 证书 docker
Keep getting Could not read CA certificate when trying to start docker
我正在尝试从 boot2docker 迁移到 docker-机器。
我按照说明 here 安装 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 命令时。
我找到了我的解决方案here
我需要将我的 .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
我发布了这个以防它能帮助到其他人。 Thanks/props 转到 github 上的那个线程中的每个人,这是在一个小时的痛苦之后发现的。
如果还是不行,运行:
find . -name ca.pem
找出它在哪里,然后修改DOCKER_CERT_PATH=<the path you find out>
,在一个Mac上,一定是.bash_profile
。如果你在 yo .oh-my-zsh
中输入它,它将不起作用。
请遵循本指南:
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,我们仍然遇到错误 "Could not read CA certificate"。
我的解决方案是从 .bash_profile
中删除 docker 相关的环境变量 (DOCKER*)。这似乎是一个长期的解决方案。
vim ~/.bash_profile
评论类似 DOCKER_*
source ~/.bash_profile
- 重新启动终端,在 运行 上应该没有问题:
docker info
或 docker ps
希望对您有所帮助。
如果文件存在于DOCKER_CERT_PATH
环境变量中,错误也可能是由于文件权限问题引起的。请同时检查此用例。
我在 macOS 中清除对缺失证书的引用的解决方案是:
unset ${!DOCKER*}
来源:https://forums.docker.com/t/initial-install-of-docker-for-mac-could-not-read-ca-certificate/9170/7
我遇到了同样的错误,因为我将环境设置为特定的 docker 机器,后来我删除了它,但我的环境仍然设置为已删除的机器。因此 docker 调用被重定向到导致错误的不存在的机器。
我取消设置环境变量,问题已解决:
eval $(docker-machine env -u)
查看要取消设置的环境变量运行:
docker-machine env -u
Docker 从我的 Mac 上的启动板退出工作以及来自终端的命令。我只想说说我做了什么来为我修复它,不管它是否有意义,以防它帮助别人。
- 我运行
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,等了一分钟,现在又是 运行,一切都恢复正常了。
我正在尝试从 boot2docker 迁移到 docker-机器。
我按照说明 here 安装 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 命令时。
我找到了我的解决方案here
我需要将我的 .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
我发布了这个以防它能帮助到其他人。 Thanks/props 转到 github 上的那个线程中的每个人,这是在一个小时的痛苦之后发现的。
如果还是不行,运行:
find . -name ca.pem
找出它在哪里,然后修改DOCKER_CERT_PATH=<the path you find out>
,在一个Mac上,一定是.bash_profile
。如果你在 yo .oh-my-zsh
中输入它,它将不起作用。
请遵循本指南: 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,我们仍然遇到错误 "Could not read CA certificate"。
我的解决方案是从 .bash_profile
中删除 docker 相关的环境变量 (DOCKER*)。这似乎是一个长期的解决方案。
vim ~/.bash_profile
评论类似 DOCKER_*
source ~/.bash_profile
- 重新启动终端,在 运行 上应该没有问题:
docker info
或docker ps
希望对您有所帮助。
如果文件存在于DOCKER_CERT_PATH
环境变量中,错误也可能是由于文件权限问题引起的。请同时检查此用例。
我在 macOS 中清除对缺失证书的引用的解决方案是:
unset ${!DOCKER*}
来源:https://forums.docker.com/t/initial-install-of-docker-for-mac-could-not-read-ca-certificate/9170/7
我遇到了同样的错误,因为我将环境设置为特定的 docker 机器,后来我删除了它,但我的环境仍然设置为已删除的机器。因此 docker 调用被重定向到导致错误的不存在的机器。
我取消设置环境变量,问题已解决:
eval $(docker-machine env -u)
查看要取消设置的环境变量运行:
docker-machine env -u
Docker 从我的 Mac 上的启动板退出工作以及来自终端的命令。我只想说说我做了什么来为我修复它,不管它是否有意义,以防它帮助别人。
- 我运行
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,等了一分钟,现在又是 运行,一切都恢复正常了。