docker - 如何确定哪个挂载属于哪个映像?
Posted
技术标签:
【中文标题】docker - 如何确定哪个挂载属于哪个映像?【英文标题】:docker - how to determine which mount belongs to which image? 【发布时间】:2019-05-18 06:57:16 【问题描述】:我们使用设备映射器存储驱动程序。 这可能更像是一个 docker 而不是 k8s 的问题。
有没有办法确定这个坐骑来自哪里
/opt/dsx/ibm-data-platform/docker/devicemapper/mnt/b1127f21d5fd96b2ac862624d80b928decc1d60b87ec64d98430f69f360d3cee/rootfs/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.39.x86_64/re罐子
您将devicemapper/mnt/b1127f21d5fd96b2ac862624d80b928decc1d60b87ec64d98430f69f360d3cee
视为路径的一部分..
我们使用捆绑了 67 张不同图片的商业产品。 上面的一个特别是有一个非常古老的 Java .. 我们想知道 docker mount 来自哪个图像。
谢谢!
【问题讨论】:
【参考方案1】:您可以向 Docker 索要已挂载该卷的容器列表:
docker container ls --filter=volume=<name of volume>
【讨论】:
谢谢。sudo docker container ls --filter=volume=b1127f21d5fd96b2ac862624d80b928decc1d60b87ec64d98430f69f360d3cee
返回空列表.. 我可以使用该卷 uuid 代替卷名吗? docker/k8s 对我来说有点新鲜。 sudo docker volume ls | grep b1127f21d5fd96b2ac862624d80b928decc1d60b87ec64d98430f69f360d3cee
也返回空列表。
通常,UUID.是名称。卷 ls 是否返回任何内容,没有 grep
是的,docker volume ls
返回 6 行,uuid
s 用于 volume name
列。虽然b1127f21d5fd96b2ac862624d80b928decc1d60b87ec64d98430f69f360d3cee
不是其中之一。请注意,我们为 docker 使用了device mapper
存储驱动程序.. 它解释了这一点吗?
mnt 中的rootfs
会让我相信这可能是图像 ID 而不是卷。试试图片 ls。
docker image ls
返回较短的 id,例如 9e1c85961ecd
,它们不匹配任何 devicemapper/mnt/b1127f21d5fd96b2ac862624d80b928decc1d60b87ec64d98430f69f360d3cee
uuid..以上是关于docker - 如何确定哪个挂载属于哪个映像?的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes 如何在 StatefulSet 中跟踪哪个云盘挂载到哪个 Pod?
在ECS中使用哪个ASP.NET Windows容器映像?使用Amazon ECS在基本映像中出现Windows Docker Container兼容性问题