如何通过/run/containerd/containerd.sock列出containerd容器?遇TLS错误求助
解决grpcurl调用containerd sock报错的问题
你的命令出错的核心原因是:containerd的Unix域套接字默认不启用TLS加密,但grpcurl默认会尝试发起TLS连接,导致握手失败。
修正后的命令需要加上-plaintext参数,强制使用明文连接:
grpcurl -plaintext -proto /containerd/api/services/containers/v1/containers.proto -unix /run/containerd/containerd.sock containerd.services.containers.v1.Containers/List
额外注意事项
- 如果找不到
containers.proto文件,可能需要先获取对应版本的containerd源码proto文件,或者用-import-path参数指定proto文件的根目录(比如containerd源码的api目录)。 - 更简便的替代方案:使用containerd官方工具
crictl,无需处理proto文件,直接执行:crictl --runtime-endpoint unix:///run/containerd/containerd.sock ps
内容的提问来源于stack exchange,提问作者Eduard Trunov
相关产品推荐
相关产品推荐

