Dockerize将目录作为输入/输出的ruby脚本

时间:2015-09-21 19:09:37

标签: ruby file-io docker

我是docker的新手,我需要帮助来对一个带有输入目录和输出目录的ruby脚本进行docker化。

generate_rr_pair.rb BuildRR -n /data/ -o /output

脚本的作用是,它将采用-n选项(输入)并检查目录是否存在,如果是,则使用内部文件作为输入。然后,该脚本将数据输出到-o选项(输出)。如果输出目录不存在,脚本将在那里创建目录和输出文件。

如何创建Dockerfile来处理这个问题?我应该将这些作为环境变量传递给我吗?或者我应该使用装载的卷?但由于脚本处理fileIO,我不确定我是否需要卷。输入目录应该已存在于主机上,并且将创建输出目录。这两个目录应该在docker容器停止后保留。

1 个答案:

答案 0 :(得分:1)

使用泊坞窗文件中的official ruby image

FROM ruby:2.1-onbuild
CMD ["ruby", "generate_rr_pair.rb"]

正常构建容器

docker build -t myruby .

然后可以按如下方式运行:

docker run --rm -it -v /data:/data -v /output:/output myruby BuildRR -n /data -o /output

请注意,如果您希望容器中的ruby脚本对主机上安装的目录进行操作,则需要使用卷映射。