Docker:无法读取CA证书:没有此类文件或目录

时间:2016-12-28 10:44:32

标签: macos docker certificate

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

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

但是当我运行docker ps时,我得到以下内容:

  

$ docker ps   无法读取CA证书" /Users/kramer65/.docker/machine/machines/default/ca.pem" ;: open /Users/kramer65/.docker/machine/machines/default/ca.pem:no这样的文件或目录

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

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

2 个答案:

答案 0 :(得分:3)

请删除旧的docker-machine

docker-machine rm default

然后,编辑.bashrc .profile或.zshrc(无论你使用什么)并删除任何导出DOCKER env变量的东西(如socket,host,port等)。

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

env | grep DOCKER

你什么也看不见。 docker ps现在应该完美无缺。

背景: 问题是旧的dockertoolbox定义了一个自定义主机/端口并将其放入bashrc中,并且在卸载后不会将其删除。

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

答案 1 :(得分:0)

在PowerShell中运行以下命令并重新打开: [环境] :: SetEnvironmentVariable(“ DOCKER_CERT_PATH”,$ null,“用户”)[环境] :: SetEnvironmentVariable(“ DOCKER_HOST”,$ null,“用户”)[环境] :: SetEnvironmentVariable(“ DOCKER_MACHINE_NAME”,$ n “用户”)[环境] :: SetEnvironmentVariable(“ DOCKER_TLS_VERIFY”,$ null,“用户”)[环境] :: SetEnvironmentVariable(“ DOCKER_TOOLBOX_INSTALL_PATH”,$ null,“用户”)