装入泊坞窗主机卷,但用容器的内容覆盖

有几篇文章对于理解Docker的卷和数据pipe理非常有帮助。 这两个特别好:

  • http://container-solutions.com/understanding-volumes-docker/
  • http://www.alexecollins.com/docker-persistence/

但是,我不确定是否讨论了我正在寻找的内容。 这是我的理解:

  1. 当运行docker run -v /host/something:/container/something ,主机文件将覆盖(但不覆盖)指定位置的容器文件。 该容器将不再有权访问该位置的以前的文件,而只能访问该位置的主机文件。
  2. 在Dockerfile中定义一个卷时,其他容器可能会共享由图像/容器创build的内容。
  3. 主机也可以查看/修改一个Dockerfile卷,但只有在使用docker inspect发现真正的挂载点之后。 (通常是/var/lib/docker/vfs/dir/cde167197ccc3e138a14f1a4f7c.... )。 但是,当Docker必须在Virtualbox虚拟机内部运行时,这是多余的。

我的问题很简单。 如何反转叠加,以便在装入卷时,容器文件优先于我的主机文件?

我想指定一个可以轻松访问容器文件系统的挂载点。 但似乎没有人问这个问题。 我知道我可以使用一个数据容器,或者我可以使用docker inspect来查找挂载点,但在这种情况下解决scheme都不是一个好的解决scheme。

Docker 1.10+共享文件的方式将通过一个卷,如在docker volume create
这意味着,您不需要专用于数据卷的容器,可以直接使用数据卷。

这样,您就可以在容器中共享和安装该卷,然后将其内容保留在该卷中。
这更符合容器的工作方式:从主机隔离内存,CPU和文件系统:这就是为什么你不能“安装一个卷,并使容器的文件优先于主机文件”: 这将打破容器隔离并向主机公开其内容。