docker - 如何从容器中列出 Docker 挂载的卷

标签 docker mount inspect

我想列出所有挂载卷的容器目录。

即能够获得我从中获得的类似信息

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/

相关文章:

Docker 拉取 phpmyadmin 镜像的访问被拒绝

java - Docker 中的 Postgres 服务器无法连接到 Spring Boot 应用程序

golang 在 syscall.Mount 中没有这样的设备

python - 如何读取包含默认参数值的函数签名?

javascript - javascript 中的 str(R 语言)相当于什么,用于获取对象的结构?

git - 需要一些关于 nginx、git 和 jenkins 的建议

docker - 将所有服务端口转发到单个容器

bash - 在 Mac 上使用 bash 脚本连接到网络共享?

linux - 尝试在CentOS上安装USB,但没有/dev/sdb1。