gpt4 book ai didi

python - 将文件传递给 docker 命令

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:51 24 4
gpt4 key购买 nike

我正在尝试通过 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/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 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,您只需键入以下内容即可使用 determined_rosalind:

dr ./prediction 1.png

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

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com