如何将文件作为docker命令的参数发送?

时间:2014-02-03 17:22:12

标签: docker

我不确定我是否正在尝试以正确的方式执行此操作,但我想使用docker.io作为打包某些需要从主机运行的程序的方法。

但是,这些应用程序将文件名作为参数,并且至少需要具有读取权限。一些其他应用程序生成文件作为输出,用户希望检索这些文件。

将文件作为程序参数处理的docker方式是什么?

2 个答案:

答案 0 :(得分:12)

使用已装入的卷启动Docker并使用此目录来操作文件。

请参阅:https://docs.docker.com/engine/tutorials/dockervolumes/

答案 1 :(得分:4)

如果您的应用程序在运行时需要args,那么您可以在运行docker容器时将参数作为环境变量注入

e.g。

docker run -e ENV_TO_INJECT=my_value .....

然后在您的入口点(或cmd)中确保您只运行一个shell脚本

e.g。 (在Dockerfile中)

CMD["/my/path/to/run.sh"]

然后,在容器启动时运行的run.sh文件中,您只需访问环境变量

即可

e.g。

./runmything.sh $ENV_TO_INJECT

这会对你有用吗?