如何解决错误oci运行时错误:exec:在Windows上使用docker run时没有这样的文件或目录

时间:2016-10-04 17:12:25

标签: windows docker

运行Docker命令时,例如

docker run ubuntu /bin/echo 'Hello world'

在Docker文档的“按示例学习”页面中的首发示例docs中使用,我看到了错误

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: oci runtime error: exec: "C:/Program Files/Git/usr/bin/bash": stat C:/Program Files/Git/usr/bin/bash: no such file or directory.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:6)

此错误可能是由系统上的设置引起的,包括mingw(例如,如果您已安装带有MSYS2的Windows的Git,则可能会看到此错误 - 有关详细信息,请参阅here)。正在转换路径 - 要停止此操作,您可以在命令之前使用双斜杠//。在此示例中,您可以使用

docker run ubuntu //bin/echo 'Hello world'

(注意上面的双斜杠(//))。如果一切顺利,你现在应该看到

Hello world

一个完整且稍微复杂的示例是启动Ubuntu交互式shell

 docker run -it -v /$(pwd)/app:/root/app ubuntu //bin/bash

请注意,在我的情况下使用Git Bash我只需要一个额外的斜杠,因为我的机器上的echo $(pwd)扩展为:

/c/Users/UserName/path/to/volume/mount

作为另一个示例,如果zip不可用,则可以使用以下内容(如Windows 10以及Git Bash中的情况)您无法轻松地将文件压缩为类似AWS Lambda函数的文件(实际上有{{ 3}}没有Docker,如果你愿意,甚至可以安装第三方软件。如果要压缩当前目录下的app文件夹,请使用以下命令:

 docker run -it -v /$(pwd)/app:/root/app mydockeraccount/dockerimagewithzip //usr/bin/zip -r //root/app/test1.zip //root/app 

可以通过创建这样的Dockerfile来构建mydockeraccount / dockerimageqithzip:

FROM ubuntu
RUN apt-get update && apt-get install -y zip

然后运行:

docker build -t mydockeraccount/dockerimagewithzip .