我想列出所有挂载卷的容器目录。
即能够获得我从中获得的类似信息
docker inspect --format "{{ .Volumes }}" <self>
但是从容器内部,并且没有在其中安装 docker
。
我尝试了 cat/proc/mounts
,但找不到合适的过滤器。
最佳答案
(编辑 - 这可能不再适用于 Mac)如果您的 Docker 主机是 OS X,则安装的卷将为 osxfs(或 fuse.osxfs)类型。你可以运行一个
挂载 | grep osxfs | awk '{print $3}'
并获取所有已安装卷的列表。
如果您的 Docker 主机是 Linux(至少 Ubuntu 14+,也许还有其他),卷似乎都在 /dev
上,而不是在容器的 中的设备上/dev
文件系统。这些卷将位于 /etc/resolv.conf
、/etc/hostname
和 /etc/hosts
旁边。如果你做了一个 mount | grep ^/dev
启动,然后过滤掉 ls/dev/*
中的任何文件,然后过滤掉上面列出的三个文件,你应该留下主机卷。
挂载 | grep ^/dev/| grep -v/等 | awk '{print $3}'
我的猜测是,具体情况可能因 Linux 不同而异。不理想,但至少可以弄清楚。
关于docker - 如何从容器中列出 Docker 挂载的卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30642844/