python - 将文件传递给 docker 命令

标签 python opencv docker

我正在尝试通过 docker 容器运行 opencv。我已经构建了图像并直接运行容器

docker run -v/home/ganaraj/nndetect:/detect -ti opecv3 bash

并访问 bash

$>cd/检测/预测 $>预测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 3d618d63316c/检测/预测/预测/检测/预测/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 exec 是 mainly for debugging purpose .

The primary use case of docker exec is debugging running containers,
docker exec basically is for "exceptional" cases

当你想执行一个命令(这里是一个Python程序)时,最好只为该命令运行一个容器。

alias dr='docker run -v /home/ganaraj/nndetect:/detect -w /detect/prediction -it --rm opecv3'

这样,无需在主机上安装 python,您只需输入以下内容即可使用 dependent_rosalind:

dr ./prediction 1.png

这将启动 transient 容器运行python程序,退出并被删除(--rm选项)。

关于python - 将文件传递给 docker 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33218064/

相关文章:

python - Pandas 中的 Rowwise

c++ - Opencv C++ 人脸检测代码不起作用

opencv - 直方图内核内存问题

docker - jenkinsfile-如何使用脚本化管道启动docker节点

docker - mysql 卷 db-data :/var/lib/mysql/data stored? 在哪里

python - 如何在healpy中旋转整个healpix map ?

python - 如何修补 python 方法以运行测试用例?

python - 线程数不影响磁盘读取速率?

c++ - OpenCV 窗口卡住

java - 如何在gradle java自定义插件中添加源集