如何 运行 docker 中的库 - 困惑

How to run a library in docker - confusion

我正在尝试使用 microsoft's cntk library on a mac; for this purpose I am using Docker。不过,我不是这方面的专家,所以我很难弄清楚如何让它发挥作用。

据我了解,Docker 提供了一种在虚拟化环境中 运行 应用程序的方法,而无需虚拟化整个操作系统。所以你下载(或创建)图像,然后你 运行 它们在 "containers" 中。

好的,所以我已经按照 required steps 使 cntk 库在 Docker 上工作;如果我列出图像,我会发现

$: docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
microsoft/cntk      latest              c2c192036e19        7 days ago          5.92 GB
ubuntu              14.04               7c09e61e9035        5 weeks ago         188 MB
hello-world         latest              48b5124b2768        2 months ago        1.84 kB

此时我想要 运行 cntk 存储库中的教程。我已经在桌面上下载了 cntk 存储库的 master 分支,并尝试 运行 "Tutorial" 文件夹中的示例之一,但出现以下错误:

terminal~ username$  docker run -w /Users/username/Desktop/CNTK-master/Tutorials microsoft/cntk configFile=lr_bs.cntk
container_linux.go:247: starting container process caused "exec: \"configFile=lr_bs.cntk\": executable file not found in $PATH"
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"configFile=lr_bs.cntk\": executable file not found in $PATH".
ERRO[0001] error getting events from daemon: net/http: request canceled 
terminal~ username$ 

基本上我用 -w 标志调用 docker 运行 来通知他文件的位置,但它不起作用。我尝试在线搜索,但我不清楚如何解决该问题。我应该创建一个新图像吗?我应该用不同的参数调用 docker 运行 命令吗?

-w标志设置工作目录,它只是容器内的默认目录。您的目录在 host 上,因此它在这里不起作用。相反,您需要使用卷将主机上的目录挂载到容器中。文档最后一段你link有个例子:

$ docker run --name cntk_container1 -ti -v /project1/data:/data -v /project1/config:/config cntk bash