繁体   English   中英

如何撤消命令 $ eval “$(docker-machine env blog)”

[英]How do I undo the command $ eval “$(docker-machine env blog)”

我认为该命令将$ docker命令重定向到 docker 机器。 现在我所有的 docker 命令都给了我一个错误FATA[0000] Couldn't read ca cert...接下来是我创建的 docker-machine 的路径。 如何修复我的外壳?

您正在寻找的是:

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

您也可以重新启动您的外壳。 这将删除minkube docker-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 新手这可以提供帮助。 通过键入:

eval $(docker-machine env nameOfVm) 

您正在将当前的 shell 设置为在该 docker-machine 中使用 docker。 您可以检查是否在活动选项卡下键入docker-machine ls ,该docker-machine ls状态从- to *更改- to * 您还可以通过运行docker-machine active来检查哪台docker-machine active

如果要撤消 eval,只需运行:

eval $(docker-machine env -u)

它将取消活动机器的变量设置(您不必指定机器的名称)。 这都是在 macOS 下,但我认为在 linux 上也应该是一样的。 您可以在此处阅读更多相关信息: Docker 文档:docker-machine env

你所要做的就是

docker-machine env machine-name

然后,复制并运行输出中的最后一段以设置或删除 env 变量。

在 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)

就这样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM