如何容纳一个以文件名作为参数的命令?

我有一个用C写的程序,它以两个文件名作为参数,一个作为input,另一个作为输出。 我想把这个命令行程序放到Docker容器中以实现可移植性和一致性,并且在调用容器时能够将主机OS中的文件作为命令行parameter passing。

也就是说,我有一个通常被调用的程序:

progname inputfile outputfile 

我想能够调用它为:

 docker [options] inputfile outputfile progname 

按照某种顺序,并将input文件和输出文件引用到主机操作系统上的文件。

如何创build一个能够在主机操作系统上将文件名作为参数的docker容器?

你想要创build的是一个图像,即容器的模板。 然后,您需要在使用docker run创build新容器时安装主机OS卷。 为此,请检查此页面 。 你想要做的是:

docker run -itd -v <host_directory>/<filename>:<container_directory>/<filename> <image_name> <container_name> <cmd_or_shell_to_run>