如何在Docker中区分已挂载的卷和映像本机目录

时间:2019-05-17 14:26:15

标签: c# linux docker asp.net-core .net-core

如果我在 docker

中安装了卷
docker run -v /folder1:/folder1 [imageid]

代码中是否有办法告诉 / folder1 是已安装的卷,而不是映像本机文件夹?

new DirectoryInfo("/folder1")

2 个答案:

答案 0 :(得分:1)

我不熟悉C#,但是如果您可以在/proc下访问文件,则可以检查文件/proc/self/mountinfo

如果目录来自映像本身,则将其安装为overlay

如果在运行时创建目录,则将其安装为proc | tmpfs | sysfs | devpts | mqueue | cgroup

如果我们排除这些安装类型,则/proc/self/mountinfo中的其余行将成为您安装的卷。简而言之,此命令适用于我的情况:

cat /proc/self/mountinfo | grep -v 'proc\|tmpfs\|sysfs\|devpts\|mqueue\|cgroup\|overlay' 

答案 1 :(得分:0)