我是docker的新手,我创建了一个图像。它是一个用于数据分析的管道,它接受一个输入文件,它运行多个应用程序并返回一些结果文档。我的问题是,是否有办法在文件上运行此图像,而无需上传到文件到图像。这些方面的东西:
sudo docker run username / pipeline python /home/username/pipeline.py localfile.txt
答案 0 :(得分:0)
您可以使用-v
(--volume
)参数docker run
来公开容器内的部分本地文件系统。有关详细信息,请参阅the documentation。
例如,您可以执行以下操作:
docker run -v $PWD:/data ...
在容器内,您当前的目录将以/data
的形式提供。您的应用程序可以对该目录中的文件进行操作并在那里创建新文件,并且它们会立即在主机上显示。
请注意,因为默认情况下,Docker容器中的所有内容都将作为root
运行,您最终可能会遇到权限问题。有多种方法可以解决这个问题,最简单的方法是在容器完成后对文件运行chown
。