繁体   English   中英

如何根据容器名称或容器ID查找容器图像路径

[英]How to find the container image path based on pod name or container ID

假设我有一个3节点群集(master01,node01,node02)

如何找到节点上正在运行的容器路径? 我可以通过“ oc describe pod”看到容器ID

Container ID:   docker://9982c309a3fd8c336c98201eff53a830a1c56a4cf94c2861c52656855cba3558

例如:在节点01上,我可以在“ /var/lib/openshift/openshift.open.local.volumes/pods/”下看到很多目录; 但不确定如何映射到容器名称或容器名称。 似乎未激活的容器映射/装载,但如何清理鼠尾草?

任何帮助真的很感激。 谢谢。

您可以使用此列表以容器名称列出容器图像:

kubectl get pods POD_NAME -o=jsonpath='{..image}'

资料来源: 文件

感谢您的回答。

我是从另一个小组找到的,下面给出。

方法1:

kubectl get pods <pod name> -o jsonpath={.metadata.uid}

然后在/var/lib/kubelet/pods/<uid>所在的节点上查找/var/lib/kubelet/pods/<uid> (或/var/lib/openshift/pods/<uid> )中返回的/var/lib/openshift/pods/<uid>

方法2:

kubectl describe pod <podname>

从那里获取容器ID

然后在节点上运行docker inspect <containerid>

然后在/var/lib/kubelet/pods/<uid>所在的节点上查找/var/lib/kubelet/pods/<uid> (或/var/lib/openshift/pods/<uid> )中返回的/var/lib/openshift/pods/<uid>

通常,所有容器文件系统和映像都位于您的docker主目录下,该目录默认为/ var / lib / docker。 您还可以通过查看当前的dockerd进程来查看它是否已自定义配置:

ps -Af | grep dockerd

由于您正在运行docker作为运行时。 您可以用来清理所有垃圾:

docker system prune -a --force

基本上,它会修剪所有退出的容器以及任何容器未使用的图像。

希望能帮助到你!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM