如何使用Dockerfile中的卷将单个文件持久保存在目录中?

如何使用Dockerfile中的卷将单个文件持久保存在目录中?,docker,dockerfile,Docker,Dockerfile,我尝试Dockerize的这个应用程序在install目录的根目录中有配置文件。如果我使用VOLUME在主机上挂载install dir,那么最终也会在主机上挂载应用程序。我只想在主机上存储配置文件 我是否应该在容器中使用硬链接,并使用卷装载具有硬链接的目录?硬链接在容器中也能工作吗?您可以挂载单个文件。下面是docker文档 将主机文件装载为数据卷 -v标志还可用于装载单个文件,而不仅仅是 目录-来自主机 $ docker run --rm -it -v ~/.bash_history:/ro

我尝试Dockerize的这个应用程序在install目录的根目录中有配置文件。如果我使用
VOLUME
在主机上挂载install dir,那么最终也会在主机上挂载应用程序。我只想在主机上存储配置文件


我是否应该在容器中使用硬链接,并使用卷装载具有硬链接的目录?硬链接在容器中也能工作吗?

您可以挂载单个文件。下面是docker文档

将主机文件装载为数据卷

-v标志还可用于装载单个文件,而不仅仅是 目录-来自主机

$ docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash
这将把您放入一个新容器中的bashshell中,您将拥有 您的bash历史记录来自主机,当您退出容器时 主机将具有在中键入的命令的历史记录 容器

注意:许多用于编辑文件的工具(包括vi和sed)可能会导致inode更改。自Docker v1.1.0以来,这将产生一个错误,例如“sed:无法重命名。/sedKdJ9Dy:设备 或资源繁忙”。如果要编辑已装入的 文件,通常最容易挂载父目录


您可以装载单个文件。下面是docker文档

将主机文件装载为数据卷

-v标志还可用于装载单个文件,而不仅仅是 目录-来自主机

$ docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash
这将把您放入一个新容器中的bashshell中,您将拥有 您的bash历史记录来自主机,当您退出容器时 主机将具有在中键入的命令的历史记录 容器

注意:许多用于编辑文件的工具(包括vi和sed)可能会导致inode更改。自Docker v1.1.0以来,这将产生一个错误,例如“sed:无法重命名。/sedKdJ9Dy:设备 或资源繁忙”。如果要编辑已装入的 文件,通常最容易挂载父目录

可能的重复可能的重复