Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 添加到主机don';在运行的docker容器中不会出现_Linux_Docker - Fatal编程技术网

Linux 添加到主机don';在运行的docker容器中不会出现

Linux 添加到主机don';在运行的docker容器中不会出现,linux,docker,Linux,Docker,如果我启动一个docker容器 docker run -v /foo:/foo ... 我可以从容器中看到主机上/foo的内容 docker容器运行时,如果我运行 mount -t ext4 /dev/... /foo/something 我不会在容器内的/foo中看到新的装载点-有没有办法让它显示出来?(如果我在主机上建立装载点后启动docker容器,就可以了) Docker容器在私有装载命名空间中运行,这意味着容器启动后在主机上进行的装载不会传播到容器中。详细介绍了装载传播以及私有装载

如果我启动一个docker容器

docker run -v /foo:/foo ... 
我可以从容器中看到主机上/foo的内容

docker容器运行时,如果我运行

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

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

Docker容器在私有装载命名空间中运行,这意味着容器启动后在主机上进行的装载不会传播到容器中。详细介绍了装载传播以及私有装载与共享装载与从属装载

对您的问题的简短回答是,没有一种简单的方法可以将这样的新挂载公开到容器中。这是可能的,可能涉及到使用
nsenter
在容器名称空间内运行命令来更改挂载上的标志,但我不打算这样做


一般来说,如果需要更改容器的存储配置,可以重新部署容器。

是的-我看到了相反的情况-容器内的装载是私有的-如果需要,我当然可以从容器内使用nsenter装载到主机上。。。我感到惊讶的是,从主机上卸下挂载后,它在容器中可见。迷人的东西!谢谢你的回答。一个合法的例子是,在docker中可以看到主机上的USB/CD挂载-我很惊讶我无法找到类似的问题。