我已经创建了一个包含一些python代码和一个可以执行它的shell脚本的docker映像。它将处理来自主机系统的大量图像。
这个命令应该创建一个新的竞争者并运行它。
sudo docker run -v /host/folder:/container/folder opencv:latest bash /extract-embeddings.sh在最后,容器退出。如果输入相同的命令,则创建另一个容器并在完成时退出。但是如何正确使用容器呢?我应该使用重新启动、启动或运行(然后清理退出的容器之后)吗?每次创建一个新容器似乎是不必要的。
基本上,我只想要一个包含一些代码和3-4个不同命令的对接映像,我可以随时执行。
而docker命令似乎不接受"bash / accept Embeddings.sh“作为参数,相反,bash和提取-Embeddings.sh是容器。因此,也许我误解了容器的生命周期或使用。
编辑:
把它做好了:
docker run -t -d --name opencv -v /host/folder:/container/folder
docker exec -it opencv bash /extract-embeddings.sh发布于 2019-07-05 11:34:19
您可以编写Dockerfile来创建您的docker映像,并将脚本保存在其中-
文档:
FROM opencv:latest
COPY ./your-script /some_folder创建图像:
docker build -t my_image .运行您的容器:
docker run -d --name my_container在容器内运行脚本:
docker exec -it <container_id_or_name> bash /some_folder/your-script发布于 2019-07-05 11:21:07
构建以opencv:opencv开头的自己的对接器映像,并将运行的命令作为入口点提供。Dockerfile可能就像
FROM opencv:latest
CMD ["/bin/bash", "/extract-embeddings.sh"]使用docker create创建命名容器。
sudo docker create --name=processmyimage -v /host/folder:/container/folder myopencv:latest然后,每次您想要运行它时,都使用docker。
sudo docker start processmyimage如果您只想运行一个命令,这是很好的。如果有多个命令,我将采用构建一个永远运行不相关命令的映像的方法(比如尾部-f < /dev/null)。然后可以使用exec -d /bin/bash <>
对于每个命令
https://stackoverflow.com/questions/56901977
复制相似问题