挂载点添加到主机不显示在正在运行的docker集装箱

如果我启动docker集装箱

docker run -v /foo:/foo ... 

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

docker集装箱正在运行,如果我运行

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

我不会看到容器内的/ foo中的新的挂载点 – 有没有办法让它显示出来? (如果在主机上的挂载点build立之后启动泊坞窗容器,则可以)。

Docker容器运行在私有的挂载名称空间中,这意味着在容器启动后在主机上进行的挂载不会传播到容器中。 关于共享子树的内核文档详细介绍了挂载传播和私有vs共享vs从属挂载。

你的问题的简短答案是,没有一个简单的方法来公开像这样一个新的装载到一个容器。 这很可能 ,可能涉及使用nsenter在容器命名空间中运行命令来更改nsenter上的标志,但是我不会去那里。

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