$ docker pull $(kubectl get pod nginx-deployment-9456bbbf9-gqzhp -o jsonpath="{.spec.containers[*].image}") && docker image inspect $(kubectl get pod nginx-deployment-9456bbbf9-gqzhp -o jsonpath="{.spec.containers[*].image}") | jq .[].ContainerConfig.Cmd
1.14.2: Pulling from library/nginx
Digest: sha256:f7988fb6c02e0ce69257d9bd9cf37ae20a60f1df7563c3a2a6abe24160306b8d
Status: Image is up to date for nginx:1.14.2
docker.io/library/nginx:1.14.2
[
"/bin/sh",
"-c",
"#(nop) ",
"CMD [\"nginx\" \"-g\" \"daemon off;\"]"
]
1条答案
按热度按时间0sgqnhkj1#
kubectl
为您提供了多种选项,其中包括describe
,它可以让您获得您正在寻找的信息,如下所示:如果你需要以编程方式访问东西,你也可以使用
get
和json格式化输出,然后管道到jq
这样的实用程序:如果对于pod使用的给定镜像,您希望获得实际容器镜像的命令,而不是通过其规范传递的命令,则可以使用有关镜像的信息,然后进行docker检查。下面的镜像是按照kubernetes documentation部署的,所以它在规范中没有命令,但仍然运行nginx。
获得正确的Pod(在我们的例子中它们都是一样的)
使用其中一个并获取容器镜像:
使用
docker image inspect
来分析图像(并不是说您必须将其拉出)现在使用
jq
将其变成一行: