File Docker:如何处理本地文件?

File Docker:如何处理本地文件?,file,docker,containers,local,File,Docker,Containers,Local,场景是这样的:我有一个Docker映像,它应该在不同的机器上运行。让我们假设图像中的软件 读一个文件 基于该文件计算内容,然后 写入输出文件 现在,输入文件的内容随着用户的不同而变化,因此必须易于替换。此外,在容器终止后,输出文件应可供用户使用 当我将输入文件插入到图像中时,容器运行良好,但这并不方便,甚至不接近它应该是什么样子。我是Docker的新手,我读过“容器中的数据管理”教程,但是我觉得不需要用户创建和管理太多Docker卷会更优雅。其目的是节省安装时间(docker安装除外),并使软件

场景是这样的:我有一个Docker映像,它应该在不同的机器上运行。让我们假设图像中的软件

  • 读一个文件
  • 基于该文件计算内容,然后
  • 写入输出文件
  • 现在,输入文件的内容随着用户的不同而变化,因此必须易于替换。此外,在容器终止后,输出文件应可供用户使用


    当我将输入文件插入到图像中时,容器运行良好,但这并不方便,甚至不接近它应该是什么样子。我是Docker的新手,我读过“容器中的数据管理”教程,但是我觉得不需要用户创建和管理太多Docker卷会更优雅。其目的是节省安装时间(docker安装除外),并使软件的部署尽可能简单。

    您可以使用-v将主机目录或文件装载到容器中。这将使您能够灵活地决定使用哪个输入文件,因为它驻留在主机上,而无需将其包含在映像中。 e、 g

    docker run-v:/container\u data\u dir image cmd\u to\u run
    
    Volume mounts是实现这一点的方法。如果您想让它们易于使用,那么就编写一个脚本来完成这一切。
    docker run -v <host dir>:/container_data_dir image cmd_to_run