【发布时间】:2018-07-15 19:40:18
【问题描述】:
伙计们,
我在这里关注 Docker 教程:https://docs.docker.com/get-started/part4/#configure-a-docker-machine-shell-to-the-swarm-manager,并且在运行此特定命令时遇到阻力:
eval $(docker-machine env myvm1)
我实际上正在运行(如上,但添加了 sudo)。
eval $(sudo docker-machine env myvm1)
我没有从命令行得到任何输出来告诉我任何事情已经完成以及我什么时候运行:
sudo docker-machine ls
我看到 myvm1 确实不具有预期的活动状态。我知道这一步不是必需的,但我想了解为什么该命令不起作用并尝试修复它。
我正在运行 docker 17.09.0-ce
在 Ubuntu 16.04 LTS 上
zsh shell(已尝试切换到 bash)
顺便说一句,这只是在我的本地机器上,而不是服务器上。
任何帮助将不胜感激。
【问题讨论】:
-
如果您想查看正在执行的操作,请先运行
set -x。 (和edit 将结果放入问题中)。 -
顺便说一句,一般来说,引用您的扩展是更好的形式,包括当它们将由
eval处理时。因此,eval "$(foo)",而不是eval $(foo)。差异是微妙的(在eval的情况下),并且可能不会立即导致您的错误,但是当它们确实 引起问题时,它们......好吧......引起问题。 -
另一件非常非常非常可能相关的事情是
sudo丢弃了未明确列入白名单的环境变量。你在这里使用它有什么原因吗? -
@CharlesDuffy 是的 - 我还没有授予我的用户不需要 sudo 的 root 权限。我昨天试过了,但失败得很惨。