我在Windows上运行Docker(1.10.2)。我创建了一个脚本来在我的机器上回显“Hello World”并将其存储在C:/ Users/username/MountTest中。我创建了一个新的容器,并将这个目录(MountTest)作为数据卷装载。我跑这样做的命令如下所示:Docker:无法运行存储在已安装卷中的shell脚本
docker run -t -i --name mounttest -v /c/Users/sarin/MountTest:/home ubuntu /bin/bash
接下来,我运行命令到容器mounttest内执行脚本。
docker exec -it mounttest sh /home/helloworld.sh
结果如下:
: not foundworld.sh: 2: /home/helloworld.sh:
Hello World
我得到所需的输出(回声的Hello World),但我想了解背后未发现错误的原因。
注意:此问题可能看起来类似于Run shell script on docker from shared volume,但它涉及权限相关的问题。
参考文献: 的helloworld.sh文件:
#!/bin/sh
echo 'Hello World'
请张贴'helloworld.sh'和您的调用的确切内容。 – Koder
'helloworld.sh'是否有窗口风格的行结尾('\ r \ n')? – Roman
@罗曼不,不。 – Sarin