【问题标题】:"line 36: cd: HOME not set" in start.sh running Boot2Docker installed using Docker for Windows Installer v1.6.0"line 36: cd: HOME not set" in start.sh running Boot2Docker installed using Docker for Windows Installer v1.6.0
【发布时间】:2015-04-17 19:55:03
【问题描述】:

我已经使用 Docker for Windows Installer v1.6.0 在我的 Windows 笔记本电脑上安装了 Docker。当我第一次运行 start.sh 脚本时,它会初始化并启动 VM,但随后脚本会给出错误“第 36 行:cd:未设置”并退出:

C:\Program Files\Boot2Docker for Windows>start.sh

initializing...

starting...
Waiting for VM and Docker daemon to start...
............................oooooooo
Started.
Writing C:\Users\Administrator\.boot2docker\certs\boot2docker-vm\ca.pem
Writing C:\Users\Administrator\.boot2docker\certs\boot2docker-vm\cert.pem
Writing C:\Users\Administrator\.boot2docker\certs\boot2docker-vm\key.pem

To connect the Docker client to the Docker daemon, please set:
    export DOCKER_CERT_PATH='C:\Users\Administrator\.boot2docker\certs\boot2docker-vm'
    export DOCKER_TLS_VERIFY=1
    export DOCKER_HOST=tcp://192.168.59.103:2376


IP address of docker VM:
192.168.59.103

setting environment variables ...
Writing C:\Users\Administrator\.boot2docker\certs\boot2docker-vm\ca.pem
Writing C:\Users\Administrator\.boot2docker\certs\boot2docker-vm\cert.pem
Writing C:\Users\Administrator\.boot2docker\certs\boot2docker-vm\key.pem
    export DOCKER_HOST=tcp://192.168.59.103:2376
    export DOCKER_CERT_PATH='C:\\Users\\Administrator\\.boot2docker\\certs\\boot2docker-vm'
    export DOCKER_TLS_VERIFY=1

You can now use `docker` directly, or `boot2docker ssh` to log into the VM.
C:\Program Files\Boot2Docker for Windows\start.sh: line 36: cd: HOME not set

C:\Program Files\Boot2Docker for Windows>

脚本的第 36 和 37 行是:

cd
exec "$BASH" --login -i

我必须对安装进行一些更改才能做到这一点:

  • start.sh 打开写字板时,我为C:\Program Files (x86)\Git\bin\sh.exe Windows 设置了.sh 文件的默认程序
  • start.sh遇到错误“line 5: clear: command not found”时,我将C:\Program Files (x86)\Git\bin添加到我的系统路径中
  • 当虚拟机启动失败并出现“运行中的错误:无法启动机器“boot2docker-vm”:退出状态1”时,我运行boot2docker deleteboot2docker download删除虚拟机并重新下载ISO李>

现在我遇到了start.sh 中的错误“第 36 行:cd: HOME 未设置”。

Docker 的 Windows Installer v1.6.0 昨天(4 月 16 日)刚刚发布,所以还没有太多帮助(例如 GitHub 或 Docker 的论坛)。

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: windows installation docker virtualbox boot2docker


    【解决方案1】:

    我遇到了同样的问题。通过在 #35 的空行中添加以下行来解决带有 HOME 的行:

    export HOME=$HOMEPATH
    

    【讨论】:

    • 我在驱动器 D 上有 docker,而 C:\Users\ 和 $HOME 中的主文件夹给了我 \Users\ ,它再次以错误终止了 shell 脚本。所以我只是注释掉了 cd 指令,从而在当前文件夹中启动了 bash 控制台。
    • 同意你的观点,但仍然可能有一些脚本可能需要 HOME 变量,你可以很容易地在工作时输入“cd”...如果你在驱动器 D 上有 docker:那么你可以“ cd" 到它,你也将设置环境变量 HOME。
    【解决方案2】:

    有问题的两行正在重新启动 Bash,大概是为了使对 dotfiles 的修改生效。

    尝试注释掉这两行。运行start.sh 后,自行退出并重新启动 Bash。最后,运行

    eval "$(boot2docker.exe shellinit 2>/dev/null | sed  's,\\,\\\\,g')"
    

    在新的 shell 中确保环境已设置。对于未来的所有会话,eval 命令应该是您为 Docker 配置 shell 所需要的全部内容。

    【讨论】:

      【解决方案3】:

      首先供所有其他人参考:Github 上存在一个问题,其中正在讨论这个问题。看到这个:https://github.com/boot2docker/windows-installer/issues/102

      鲍比打开了这个问题,有一些提示可以解决这个问题。

      其中一个是我自己发现的解决方案(我遇到了同样的问题): 在安装 Boot2Docker 之前,我已经安装了 TortoiseGit(加上 msysgit 1.9.5)。在安装 TortoiseGit 时的 msysgit 安装中,我可能没有勾选“associate .sh files with git bash”。

      然后我从 https://msysgit.github.io/ 手动重新安装了 msysgit 并选择“将 .sh 文件与 git bash 关联”。在此之后,Boot2Docker 工作了,“HOME 未设置”似乎已修复。

      至少这个解决方案对我有用,所以如果你也安装了 TortoiseGit,值得一试。

      【讨论】:

        猜你喜欢
        • 2022-12-26
        • 2022-12-02
        • 1970-01-01
        • 1970-01-01
        • 2017-09-06
        • 2021-01-31
        • 2022-11-20
        • 2021-01-12
        • 1970-01-01
        相关资源
        最近更新 更多