Docker:无法读取 CA 证书:没有这样的文件或目录

Docker: Could not read CA certificate: no such file or directory

我在 OSX 上,我以前使用过 docker-machine,但现在有一个本机 Docker for Mac 我想安装它。 所以我使用 this uninstall script 卸载了 docker-machine,然后我安装并启动 Docker for Mac 没有问题。

我可以 运行 docker --help,这会按预期显示所有选项。

然而,当我 运行 docker ps 时,我得到以下信息:

$ docker ps Could not read CA certificate "/Users/kramer65/.docker/machine/machines/default/ca.pem": open /Users/kramer65/.docker/machine/machines/default/ca.pem: no such file or directory

我尝试了 this answer 的解决方案(包括采购 .bash_profile 来激活它),但没有解决任何问题。

有人知道我能做些什么来解决这个问题吗?

请删除旧的 docker-machine

docker-machine rm default

然后,编辑您的 .bashrc .profile 或 .zshrc(无论您使用什么)并删除任何导出 DOCKER 环境变量(如套接字、主机、端口等)的内容。

至少重启你的shell,你可以重启你的Mac。当你这样做时

env | grep DOCKER

你应该什么也看不到。 docker ps 现在应该可以完美运行了。

背景: 问题是旧的 dockertoolbox 定义了一个自定义 host/port 并将其放入您的 bashrc 并且在卸载后不会将其删除。

docker for mac 使用 Unix 默认套接字,但在您删除那些旧的 ENV 变量之前它不会被拾取

运行 在 PowerShell 中执行这些命令并重新打开: [环境]::SetEnvironmentVariable("DOCKER_CERT_PATH", $null, "User") [环境]::SetEnvironmentVariable("DOCKER_HOST", $null, "User") [环境]::SetEnvironmentVariable ("DOCKER_MACHINE_NAME", $null, "User") [环境]::SetEnvironmentVariable("DOCKER_TLS_VERIFY", $null, "User") [环境]::SetEnvironmentVariable("DOCKER_TOOLBOX_INSTALL_PATH" , $null, "User")