在Windows上运行docker镜像导致" oci运行时错误:exec:" bash":$ PATH中找不到可执行文件。"

时间:2016-09-10 12:50:13

标签: windows docker docker-machine

我在Windows上运行Docker(" Docker Toolbox"而不是" Docker for Windows")。

我用里面的rails应用程序构建了一个图像。它在我的Mac OS上运行正常,但在Windows上停留在生产中。

在两台机器上使用Docker 1.12和docker-machine 0.8.0。

当我创建一台机器并尝试从图像运行容器时,我这样做:

docker run -it myRepo:myTag bash

在Mac OS上为我打开了一个交互式终端,但Windows 7和Windows Server 2011都响应:

  

"来自守护程序的错误响应:oci运行时错误:exec:" bash":   在$ PATH中找不到可执行文件。"

我通过 Docker快速入门终端使用 MINGW64 shell,但旧的 cmd.exe 会返回相同的内容。

有人可以帮我解决这个问题吗?我已经尝试了几个小时来找到解决方案,但Windows的答案太少了。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

我也使用Windows 7和MINGW64。以下是我使用ActiveWorkbook.SaveAs Filename:="C:\1Datadump\datadump.xlsm" 作为示例:

nginx

我认为您不能使用MINGW64打开tty。

您可以尝试:

  $docker run -it nginx bash
  cannot enable tty mode on non tty input

您将没有任何提示或任何迹象表明您在容器内。只需运行 $docker run -i nginx bash ls bin ... ,它就可以在您的容器内运行。

另一个选择是尝试将ls用于tty:

winpty

你试过吗?

  $ winpty docker run -it myRepo:myTag bash
  root@644f59e6f818:/#

我没有提到你提到的问题,但我之前在绘制卷时已经看过了。

如果使用MINGW64映射卷,则需要在本地映射之前添加额外的 $ winpty docker run -it myRepo:myTag /bin/bash 。例如:

/

让我知道你的发现。