添加到主机的挂载点不会显示在正在运行的docker容器中

时间:2015-02-20 01:36:57

标签: linux docker

如果我使用

启动docker容器
docker run -v /foo:/foo ... 

我可以在容器中看到主机上/ foo的内容。

当docker容器正在运行时,如果我运行

mount -t ext4 /dev/... /foo/something

我不会在容器内的/ foo中看到新的挂载点 - 有没有办法让它显示出来? (如果我在主机上的安装点建立后启动了docker容器,那就没问题)。

1 个答案:

答案 0 :(得分:2)

Docker容器在私有安装命名空间中运行,这意味着容器启动后在主机上创建的安装不会传播到容器中。 kernel documentation on shared subtrees详细介绍了安装传播和私有与共享与从属安装。

对您的问题的简短回答是,没有一种简单的方法可以将这样的新装载体暴露到容器中。它的可能,可能涉及使用nsenter在容器命名空间内运行命令来更改坐骑上的标志,但我不会去那里。

通常,如果需要更改容器的存储配置,请重新部署容器。