在 ConEmu/Cmder 中使用 git-bash 加载 Docker 脚本

getting Docker script to load with git-bash in ConEmu/Cmder

我在 windows 上看到 Docker 的快捷方式是:

C:\Program Files\Git\bin\bash.exe" --login -i "C:\Program Files\Docker Toolbox\start.sh"  

我在Cmder/ConEmu中使用git-bash

我想在那个控制台启动时执行这个脚本,所以我有 我的终端在 1 个程序中包含的选项卡中,而不是 git-bash,docker 那里。

我无法找到将此 .sh 文件传输到 运行 的正确方法。 我发现引号不同于 运行ning 新终端 window 来自 windows 快捷方式。

我试过了:

"C:\Program Files\Git\bin\bash.exe" --login -i "C:\Program Files\Docker Toolbox\start.sh""

returns:

Either VirtualBox or Docker Machine are not installed. Please re-run the Toolbox Installer and try again.
Looks like something went wrong. Press any key to continue...

C:\Windows\System32\cmd.exe /c ""C:\Program Files\Git\bin\bash.exe" --login -i -- C:\Program Files\Docker Toolbox\start.sh"

returns:

bash: C:\Program: No such file or directory

当前目录:

C:\Code\cmder_mini

要执行的命令:

"C:\Windows\System32\cmd.exe" /c ""C:\Program Files\Git\bin\bash.exe" --login -i -- C:\Program Files\Docker Toolbox\start.sh"

ConEmuC: Root process was alive less than 10 sec, ExitCode=127.
Press Enter or Esc to close console...

A git bash.exe 应该继承你的 %PATH% 作为 $PATH

但是 docker toolbox Windows start.sh 还取决于其他环境变量,这些变量应该在 调用之前 设置:

  • DOCKER_MACHINE: path/to/docker-machine.exe(包括 exe 本身)
  • VBOX_INSTALL_PATH: VirtualBox 的路径。

在调用 ConEmu 和调用您的第一个命令之前,确保首先定义了它们。

我找到了一个非常简单的解决方案:只需将 Cmder / ConEmu 设置为控制台应用程序的默认终端即可。之后 Docker 快速启动终端直接打开 Cmder/ConEmu 而不是使用原生的 Windows CMD。 :)

您将在“设置”对话框中找到设置(Win+Alt+P 或右键单击 window header 栏)。然后前往:

集成 -> 默认项

选中 "Force ConEmu as default terminal for console applications" 的复选框并按 "Save settings"。

我找到了一个很好的解决方案,可以在我打开的任何 cmder 终端中正常使用 docker。

只需将此代码粘贴到 cmderRoot/config/user-profile.cmd

FOR /F "tokens=* USEBACKQ" %%F IN (`docker-machine status`) DO (
  SET machine_status=%%F
)


IF NOT %machine_status% == Running (
   cmd /c "docker-machine start default"
) 

FOR /F "tokens=*" %%i in ('docker-machine env') do @%%i