如果我使用
启动docker容器docker run -v /foo:/foo ...
我可以在容器中看到主机上/ foo的内容。
当docker容器正在运行时,如果我运行
mount -t ext4 /dev/... /foo/something
我不会在容器内的/ foo中看到新的挂载点 - 有没有办法让它显示出来? (如果我在主机上的安装点建立后启动了docker容器,那就没问题)。
答案 0 :(得分:2)
Docker容器在私有安装命名空间中运行,这意味着容器启动后在主机上创建的安装不会传播到容器中。 kernel documentation on shared subtrees详细介绍了安装传播和私有与共享与从属安装。
对您的问题的简短回答是,没有一种简单的方法可以将这样的新装载体暴露到容器中。它的可能,可能涉及使用nsenter
在容器命名空间内运行命令来更改坐骑上的标志,但我不会去那里。
通常,如果需要更改容器的存储配置,请重新部署容器。