我在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
以激活它),但这并没有解决任何问题。
有人知道我能做些什么来解决这个问题吗?
答案 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,“用户”)