我认为该命令将
$ docker
命令重定向到了docker主机。现在所有的docker命令都会出现错误FATA [0000] 无法读取ca证书...
后面跟着我创建的docker-machine的路径。我该如何修复我的shell?$ docker
命令重定向到了docker主机。现在所有的docker命令都会出现错误FATA [0000] 无法读取ca证书...
后面跟着我创建的docker-machine的路径。我该如何修复我的shell?你要寻找的是:
eval "$(docker-machine env -u)"
这将取消设置DOCKER_*
变量。
以下是docker-machine env -u
的输出记录:
unset DOCKER_TLS_VERIFY
unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_MACHINE_NAME
您也可以重新启动您的shell。这将删除minkube docker-env
导出的变量。
我看到这是一个旧帖子,但如果有其他像我一样对Docker不熟悉的人遇到了这个问题,这可能会有所帮助。通过输入以下命令:
eval $(docker-machine env nameOfVm)
你正在设置当前shell以在docker-machine中使用docker。您可以检查是否在活动选项卡下,该机器的状态已从“-”更改为“*”,方法是键入docker-machine ls
。您还可以通过运行docker-machine active
来检查哪个机器处于活动状态。
如果要撤消eval操作,请运行:
eval $(docker-machine env -u)
它将取消活动机器的变量(您不必指定机器的名称)。这全部在macOS下完成,但我认为在Linux上应该也是相同的。 您可以在此处阅读更多信息: Docker文档:docker-machine env
我已经寻找这个答案有一段时间了。在在stackoverflow上发布问题后不久,我意识到在终端输入docker在启动时给出的导出命令解决了我的问题。
To connect the Docker client to the Docker daemon, please set:
export DOCKER_HOST=tcp:// some IP address
export DOCKER_CERT_PATH= some file path
export DOCKER_TLS_VERIFY=1
你所要做的就是运行
docker-machine env machine-name
然后,在输出中复制并运行最后一个段落以设置或移除环境变量。
在Windows中看起来像这样:
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env machine-name)
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env -u)
就这些。
eval $(docker-machine env -u)
(不带引号)。也许这些年来情况已经发生了变化? - Florian Suessdocker-machine env -u
会出现错误信息:'docker-machine'不是内部或外部命令,也不是可运行的程序或批处理文件。
- Panzercrisis