Docker新手。下载的DockerToolbox-1.10.2.exe并安装在Windows 7上,似乎运行正常。
在以下位置尝试hello world教程:
当我运行以下命令时
$ docker run ubuntu /bin/echo 'Hello world'
似乎下载了Ubuntu映像:
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
5a132a7e7af1: Pull complete
fd2731e4c50c: Pull complete
28a2f68d1120: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:4e85ebe01d056b43955250bbac22bdb8734271122e3c78d21e55ee235fc6802d
Status: Downloaded newer image for ubuntu:latest
但后来我收到以下错误消息:
exec: "C:/devel/Git/bin/echo": stat C:/devel/Git/bin/echo: no such file or directory
docker: Error response from daemon: Container command not found or does not exist
该路径是我在Windows中运行bash.exe以运行docker的地方。我确定这一定是配置问题,但我不确定从这里开始。
答案 0 :(得分:1)
你可能有一个PATH首先有c:\devel\Git
,然后是其余的,使shell调用错误的回声。
尝试更改该顺序(set PATH=...;c:\devel\Git
)。
确保首先连接到您的机器:
docker-machine ssh
然后你可以再试一次你的docker run命令
答案 1 :(得分:1)
使用/
转义命令中的unix样式路径。以下作品。
$ docker run ubuntu //bin/echo 'Hello world'
Hello world
此行为背后的原因似乎是Git Bash(基于MinGW64 / MSYS2)尝试进行智能路径转换找到unix风格的路径。我只找到了转换的源代码(我相信here),但没有文档。我在此发现的唯一文档是MSYS1 path conversion,它应该是类似的。
让我通过屏幕截图引用MSYS1 path conversion。从示例中可以看出,像/bar
这样的“unix样式”路径将被重写为MSYS2根目录的相对路径(即Git Bash情况下的Git目录),而像转义路径一样//foobar
按原样传递。
答案 2 :(得分:0)
尝试docker run ubuntu //bin/echo 'Hello world'