Docker 个文件和来自多个位置的 input/output 个文件

Docker file with input/output files from multiple locations

我有一个 python 程序,它需要很多不同的输入(但我们只说 -i 用于输入文件,-db 用于数据库,-o 用于程序创建的输出文件。) 所以我会 运行 这样的程序: python3 myprogram.py -i /path/to/inputfile -db /another/path/to/database -o /a/different/path/to/outputfile 这个程序 运行s 通过命令行没有问题。

现在我正在尝试制作一个 docker 文件,运行 就是这个程序。我希望能够在 docker 之外使用输入文件和数据库文件(这样我每次 运行 容器时都可以使用多个不同的文件)。而且我还希望能够访问容器外的输出文件。

我知道我可以使用卷,但我只看到有 1 个路径到 1 个输入文件的示例。如果我想在容器外访问多个输入文件和输出文件怎么办?

我的 Dockerfile 结尾为:

ENTRYPOINT ["python3", "/usr/src/myprogram.py"]

那么,我该如何实现呢?我一直在寻找和寻找,任何帮助将不胜感激。

您可以使用任意数量的卷,但您需要在容器启动时指定它们,而不是在 Dockefile 中。即

docker run -v /host/path:/container/path some_image:latest command

您可以使用多个 -v 键装载多个目录。