如何查看Kubernetes Pod中容器运行的完整命令?
在Kubernetes中查看Pod容器的完整运行命令
以下几种方法可以获取Pod中容器的完整运行命令:
方法1:通过kubectl get pod自定义输出字段
直接指定输出格式,精准提取容器的启动命令和参数:
kubectl get pod test-77f45b7bd7-hqvqh -n somenp -o jsonpath='{.spec.containers[*].command}{"\n"}{.spec.containers[*].args}'
或者用yaml格式输出并过滤关键内容,更易读:
kubectl get pod test-77f45b7bd7-hqvqh -n somenp -o yaml | grep -A 10 "command\|args"
若输出中无command和args字段,说明容器使用了镜像自带的默认启动命令(ENTRYPOINT)和参数(CMD)。
方法2:查看Pod的完整定义文件
获取Pod的完整YAML内容,在.spec.containers节点下找到command和args字段:
kubectl get pod test-77f45b7bd7-hqvqh -n somenp -o yaml
其中command对应容器的启动命令,args是传递给命令的参数。
方法3:从Pod所在节点直接查看容器信息
如果有权限访问节点,可通过容器运行时命令查看:
- 先确定Pod所在节点:
kubectl describe pod test-77f45b7bd7-hqvqh -n somenp | grep Node:
- 登录目标节点,截取
kubectl describe中Container ID的后缀(去掉docker://),执行:
docker inspect --format='{{.Path}} {{.Args}}' <容器ID>
也可以用docker ps --no-trunc找到对应容器,查看完整启动命令。
内容的提问来源于stack exchange,提问作者Santhosh
相关产品推荐
相关产品推荐

