我在Windows 10 Pro上安装了Docker,我无法让它工作。
当我尝试运行hello-world时,我得到了
could not read CA certificate
它正在寻找机器/机器/默认的证书。但是该文件夹不存在。
我创建了一个名为“default”的机器(它创建了上面提到的文件夹),但没有帮助。
在此之前,我创建了另一台名为“dev”的机器,它似乎有证书,但这似乎也无济于事。
还有机器/机器中的证书文件 - 我不知道我是否应该以某种方式指向Docker查看该文件夹(而不是机器/机器/默认)?
我对Docker很陌生,所以我可能会遗漏一些东西。但是我整天都在这里,阅读Docker文档,尝试了大量的解决方案和类似的答案,但似乎没有任何工作。
答案 0 :(得分:45)
我有同样的问题。问题是,我从Docker Toolbox升级到Docker for Windows。卸载Docker Toolbox时,不会删除特定于用户的env变量。以下为我做了诀窍:
DOCKER_*
条目。
DOCKER_TLS_VERIFY
DOCKER_CERT_PATH
DOCKER_HOST
DOCKER_TOOLBOX_INSTALL_PATH
从命令提示符或PowerShell中删除DOCKER_ *。在PowerShell中运行以下命令:
[Environment]::SetEnvironmentVariable("DOCKER_CERT_PATH", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_HOST", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_MACHINE_NAME", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_TLS_VERIFY", $null, "User")
[Environment]::SetEnvironmentVariable("DOCKER_TOOLBOX_INSTALL_PATH", $null, "User")
重新启动PowerShell。 (如有必要,也可以重启系统。)
来源:
答案 1 :(得分:2)
有时候并不是那么棘手。我刚刚通过以下方法解决了这个问题:
转到此PC:->在搜索栏中键入ca.pem ->现在转到该位置并复制 ->现在转到高级系统设置->环境变量->编辑-DOCKER_CERT_PATH->并粘贴该位置,然后将其运行
答案 2 :(得分:2)
以前(长期)删除的Docker Toolbox安装中徘徊的环境变量导致了Docker Desktop的此问题(在HyperV之后就可以正常启动。将其全部删除,请删除这些环境变量
,重新启动终端,现在一切正常
答案 3 :(得分:0)
嘿,我遇到类似的问题,我从这种错误开始
'http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.37/containers/create:打开 //./ pipe / docker_engine'
之后,我也遇到了证书问题。 我所做的是将证书文件的位置更改为另一个位置,并通过环境变量DOCKER_CERT_PATH指向它。然后我经历了所有不同的问题,这些问题最终仅部分解决了我的问题。最后,我卸载了docker工具箱和VM Virtualbox,然后再次使用其他较旧的驱动程序NDIS5重新安装了它,您可以在安装期间在向导中进行选择。它解决了我在win10上使用Docker遇到的所有问题
答案 4 :(得分:0)
删除环境变量并运行上述命令对我有用:
{{1}}
答案 5 :(得分:0)
我也有同样的问题。我已将DOCKER_CERT_PATH值更改为C:\ Users \ adity.docker \ machine \ certs。效果很好。
答案 6 :(得分:0)
对于那些在Oracle VM Virtualbox上运行docker计算机的用户,只需删除损坏的计算机并重新创建。
由于没有重新创建命令,因此您可以使用以下命令删除损坏的计算机:
docker-machine rm docker-machine-name-here
例如 docker-machine rm boot2docker
或手动删除机器。 要手动删除,请转到“ C:\ Users \'user'\。docker \ machine \ machines”,您将找到计算机的目录列表,并删除损坏的计算机的目录。
要创建新计算机,请使用以下命令:
docker-machine create -d virtualbox --virtualbox-memory 4096 your-machine-name-here
例如 docker-machine create -d virtualbox --virtualbox-memory 4096 boot2docker
使用以下命令验证创建是否成功,状态和配置详细信息:
docker-machine env your-machine-name-here
例如 docker-machine env boot2docker
您可以尝试使用另一种快捷方式,以避免丢失现有的容器和Docker映像;使用以下命令重新创建证书:
docker-machine regenerate-certs your-machine-name-here
例如 docker-machine regenerate-certs boot2docker
答案 7 :(得分:-1)
以管理员权限运行 Docker 桌面。它和我一起工作。我看不到这个错误“'appdata\local\docker\vm-config\ca-certificates.crt' is denied” 现在,我可以在 Windows 10 上运行 Linux 容器了。