如何撤销命令 $ eval "$(docker-machine env blog)"?

34
我认为该命令将$ docker命令重定向到了docker主机。现在所有的docker命令都会出现错误FATA [0000] 无法读取ca证书...后面跟着我创建的docker-machine的路径。我该如何修复我的shell?
5个回答

53

你要寻找的是:

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

1
我收到消息 Host“default”不存在. - alvarez
1
是的,但是上述操作并没有将环境保留在运行docker-machine之前的状态...在docker-machine之前的值不会被保存以供以后使用...它只是取消设置docker-machine设置而不恢复环境设置为原始设置...我们需要在运行docker-machine之前运行save-current-docker-settings,这样可以在docker-machine之后用于恢复原始的docker设置。 - Scott Stensland
对我有用。我已经切换到minikube docker上下文。通过执行上面的4个取消设置命令,我能够回到我的“常规”上下文。我正在使用Mac OS High Sierra上的Docker for Mac社区版18.06.1。 - user674669
运行此命令会出现“找不到命令”的错误,而应该使用eval $(docker-machine env -u)(不带引号)。也许这些年来情况已经发生了变化? - Florian Suess
当我在Windows上尝试这个命令时,运行docker-machine env -u会出现错误信息:'docker-machine'不是内部或外部命令,也不是可运行的程序或批处理文件。 - Panzercrisis

9

您也可以重新启动您的shell。这将删除minkube docker-env 导出的变量。


这对我来说是一个简单而容易的修复。 - deathcat05

2

我看到这是一个旧帖子,但如果有其他像我一样对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


1

我已经寻找这个答案有一段时间了。在在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

0

你所要做的就是运行

docker-machine env machine-name

然后,在输出中复制并运行最后一个段落以设置或移除环境变量。

在Windows中看起来像这样:

eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env machine-name)

如果已经设置好了,Docker 会在末尾添加一个“-u”以使任务变得更加简单。
例如在 Windows 中:
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env -u)

就这些。


这似乎没有为现有的答案增添任何内容。 - tripleee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接