我有一个在我没有外壳访问权限的主机中的Rancher中运行的容器。
我可以在Web界面上看到它正在运行org/image:tag
映像,但是我想知道Docker Hub上该标记的当前版本是否与它在主机上运行的那个版本相同。
如何向Rancher询问图像的版本/ ID?
在本地,我将通过运行docker images
并看到Image ID
列来获得输出。
答案 0 :(得分:1)
如果您正在运行rancher 1.x,则可以使用rancher cli的docker
子命令。
例如,使用rancher ps
获取服务的主机ID:
$ rancher ps stack/service
ID NAME IMAGE STATE HOST IP DOCKER DETAIL
1i210290 service-1 example/image:latest running 1h886 10.42.54.91 5f7325b162d2
然后使用HOST和DOCKER ID进行检查
$ rancher --host 1h886 docker inspect --format '{{.Image}}' 5f7325b162d2
sha256:649dcb69b782d4e281c92ed2918a21fa63322a6605017e295ea75907c84f4d1e
如果您正在运行rancher 2.x,请使用rancher kubectl
格式:
$ rancher kubectl get po mypod-748bb48975-qbcqd -o jsonpath='{.status.containerStatuses[*].imageID}'
docker-pullable://nginx@sha256:1c1904acacb3c494df70c578ec777b0fb7b2b7d1e45d01f447396d1a7302d967