Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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
C# 如何在Docker中区分装入的卷和映像本机目录_C#_Linux_Docker_Asp.net Core_.net Core - Fatal编程技术网

C# 如何在Docker中区分装入的卷和映像本机目录

C# 如何在Docker中区分装入的卷和映像本机目录,c#,linux,docker,asp.net-core,.net-core,C#,Linux,Docker,Asp.net Core,.net Core,如果我在docker中装入一个卷 代码中是否有方法告诉/folder1是已装入的卷而不是映像本机文件夹 像 我不熟悉C,但如果您可以访问/proc下的文件,您可以检查文件/proc/self/mountinfo 如果dir来自图像本身,它将作为覆盖安装 如果在运行时创建目录,它将作为proc | tmpfs | sysfs | devpts | mqueue | cgroup装载 如果排除这些装载类型,/proc/self/mountinfo中的其余行将是您装载的卷。简而言之,这个命令适用于我的

如果我在docker中装入一个卷

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


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

如果dir来自图像本身,它将作为覆盖安装

如果在运行时创建目录,它将作为proc | tmpfs | sysfs | devpts | mqueue | cgroup装载

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

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

在Microsoft的github存储库中找到:


简而言之:不是。这个想法是docker的操作系统将为您映射该目录,在.NET Core或任何其他应用程序框架可以看到的较低级别。我知道至少有两种解决方法。1检查我的目录是否在System.IO.directory.GetLogicalDrives 2使用与上面相同的df相当多我猜这是一个-can.net的问题找出挂载与物理目录我严重怀疑这在.net中的任何地方都是公开的,所以我猜这是一个很好的答案:o我可以使用它。谢谢
new DirectoryInfo("/folder1")
cat /proc/self/mountinfo | grep -v 'proc\|tmpfs\|sysfs\|devpts\|mqueue\|cgroup\|overlay'