Python 将文件传递给docker命令
我正在尝试通过docker容器运行opencv。我已经构建了映像,并且在直接运行容器时Python 将文件传递给docker命令,python,opencv,docker,Python,Opencv,Docker,我正在尝试通过docker容器运行opencv。我已经构建了映像,并且在直接运行容器时 docker run-v/home/ganaraj/nndetect:/detect-ti-opecv3 bash 访问bash $>cd/检测/预测 $>prediction 1.jpg 0 我确实得到了我期望的输出(最终的0) 但我实际上希望将其作为命令行程序运行 我两者都试过了 docker run-v/home/ganaraj/nndetect:/detect-ti-opecv3/detect/pr
docker run-v/home/ganaraj/nndetect:/detect-ti-opecv3 bash
访问bash
$>cd/检测/预测
$>prediction 1.jpg
0
我确实得到了我期望的输出(最终的0)
但我实际上希望将其作为命令行程序运行
我两者都试过了
docker run-v/home/ganaraj/nndetect:/detect-ti-opecv3/detect/prediction/prediction 1.png
docker run-v/home/ganaraj/nndetect:/detect-ti-opecv3/detect/prediction/prediction/detect/prediction/1.png
但是这两个都不能提供我期望的结果
正确的方法是什么,这样我就可以像命令行工具一样(通过docker)轻松地运行这个应用程序并返回输出
我也试过了
docker run-v/home/ganaraj/nndetect:/detect-it-d opecv3 bin/bash
然后:
docker exec-it 3d618d6316c/detect/prediction/prediction/detect/prediction/1.png
但我还是得到了同样的回答
Client:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 05:37:18 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.8.3
API version: 1.20
Go version: go1.4.2
Git commit: f4bf5c7
Built: Mon Oct 12 05:37:18 UTC 2015
OS/Arch: linux/amd64
我终于让它工作了——但我不确定“为什么”这会让它工作。。如果有人解释了原因,请也加上 但我认为在这里发布最终解决方案可能是个好主意 我使用以下命令启动容器:
docker run-v/home/ganaraj/nndetect:/detect-w/detect/prediction-it-d opecv3 bash
现在我可以用这个命令进行预测,效果很好
docker exec-它决定了\u rosalind./prediction 1.png
docker exec是
docker exec
的主要用例是调试正在运行的容器,docker exec
基本上适用于“例外”情况
当您想要执行一个命令(这里是python程序)时,最好只为该命令运行一个容器
alias dr='docker run -v /home/ganaraj/nndetect:/detect -w /detect/prediction -it --rm opecv3'
这样,在主机上不安装python的情况下,只需键入以下内容即可使用determined\u rosalind
:
dr ./prediction 1.png
这将启动一个容器来运行python程序,退出并被删除(
--rm
选项)。为什么/detect/prediction/prediction
?为什么不/detect/prediction/prediction
对不起。稍后我将其用作/detect
。。但是,由于我复制粘贴了我的历史记录,我将旧版本粘贴到了这里。。改变它。我在想这个。。但只是不知道实现这一目标的确切方法。。我是docker的新手,最初我通过运行docker run几次启动了很多docker实例。。--rm选项解决了所有这些问题。。这是最直观的运行方式。。泰。