此错误可能是由您的系统上的设置引起的,包括 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 函数之类的东西压缩文件(实际上有 @987654322 @ 没有 Docker,如果您愿意,甚至可以安装第三方软件)。如果要压缩当前目录下的 app 文件夹,请使用:
docker run -it -v /$(pwd)/app:/root/app mydockeraccount/dockerimagewithzip //usr/bin/zip -r //root/app/test1.zip //root/app
mydockeraccount/dockerimageqithzip 可以通过像这样创建一个 Dockerfile 来构建:
FROM ubuntu
RUN apt-get update && apt-get install -y zip
然后运行:
docker build -t mydockeraccount/dockerimagewithzip .