shell脚本连接到docker守护程序

时间:2016-03-04 23:08:19

标签: shell docker

我想轻松地将我的shell连接到docker,我可以通过输入以下命令来执行此操作:

eval "$(docker-machine env docker-vm)"

我想我会将该行放在一个简单的shell脚本中。我发现当命令通过在bash提示符下键入行来工作时,如果放在shell脚本中然后执行脚本,该行将不起作用。运行脚本后,我将收到错误:Cannot connect to the Docker daemon. Is the docker daemon running on this host?

我正在使用oh-my-zsh和iterm2。

这是让机器运行的小脚本:

#!/usr/bin/env bash
docker-machine start docker-vm
docker-machine ip docker-vm
docker-machine env docker-vm
# this line will not "execute" meaning it does not work from the script
# this line does work proerly when executed from the command line
eval "$(docker-machine env docker-vm)"

1 个答案:

答案 0 :(得分:0)

保持简单,请注意在运行脚本时,它会触发一个新的shell实例,import weka.core.jvm as jvm jvm.start() 命令在该实例上执行,该脚本在脚本退出时会被销毁。

因此,您需要在每个会话中运行ERROR:weka.core.jvm:package_dir not found: /Users/Ebe/wekafiles/packages

我建议您在pip或类似命令中注入命令,因此每次尝试连接docker-machine和docker。如果没有要连接的计算机,则不会,并且显示没有主机的错误正在运行。