Boot2docker / Windows:无法在Ubuntu容器上运行bash

时间:2015-05-08 20:19:32

标签: windows bash docker boot2docker

我正在使用Docker Book",在第3章,安装并运行Ubuntu容器。我在Windows 7.1上使用Boot2Docker。

这是我尝试运行时发生的事情(这是第二次尝试,所以它已经有了图像的本地副本):

$ docker run -i -t ubuntu /bin/bash
exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory
FATA[0000] Error response from daemon: Cannot start container 5e985b0b101bb9584ea3e40355089a54d1fba29655d5a1e0900c9b32c4f7e4c4: [8] System error: exec: "C:/Program Files (x86)/Git/bin/bash": stat C:/Program Files (x86)/Git/bin/bash: no such file or directory

状态:

$ docker ps -a
CONTAINER ID    IMAGE           COMMAND                CREATED            STATUS              PORTS   NAMES
5e985b0b101b    ubuntu:latest   "C:/Program Files (x   21 minutes ago     loving_mayer

它抱怨缺少C:/ Program Files(x86)/ Git / bin / bash,但我当然在我的机器上有这个:

$ ls -l "c:/Program Files (x86)/Git/bin/bash"
-rwxr-xr-x    1 neilw    Administ   598016 May  4 09:27 c:/Program Files (x86)/Git/bin/bash

有什么想法吗?

3 个答案:

答案 0 :(得分:23)

这对我有用:

docker run -t -i ubuntu //bin/bash

双//以避免转换[1]

[1] http://www.mingw.org/wiki/Posix_path_conversion

答案 1 :(得分:2)

我刚遇到同样的问题,但是

docker run -t -i ubuntu

在图片中打开一个shell。

答案 2 :(得分:0)

看起来主机的shell在传递给Docker之前会自动展开/bin/bashC:/Program Files (x86)/Git/bin/bash,这是不正确的,因为Ubuntu内部没有C:/Program Files (x86)/Git/bin/bash容器

使用引号可以解决问题吗?例如:

docker run -i -t ubuntu "/bin/bash"