Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 使用containerd'作为容器中的另一个用户执行命令;s中心_Docker_Kubernetes_Microk8s_Containerd - Fatal编程技术网

Docker 使用containerd'作为容器中的另一个用户执行命令;s中心

Docker 使用containerd'作为容器中的另一个用户执行命令;s中心,docker,kubernetes,microk8s,containerd,Docker,Kubernetes,Microk8s,Containerd,我已经在Ubuntu上安装了microk8s,以便有一个简单的Kubernetes集群用于测试 我有一个用例,在这个用例中,我必须在一个容器中(在kubernetes吊舱中)与另一个用户执行一个命令,而不是用来运行容器的用户 由于kubectl不提供这种可能性,docker环境的解决方法是使用docker exec-u。但是microk8s安装的Kubernetes集群不使用docker作为容器运行时,而只使用containerd 我没有找到在容器中作为另一个用户使用containerd的ctr

我已经在Ubuntu上安装了microk8s,以便有一个简单的Kubernetes集群用于测试

我有一个用例,在这个用例中,我必须在一个容器中(在kubernetes吊舱中)与另一个用户执行一个命令,而不是用来运行容器的用户

由于kubectl不提供这种可能性,docker环境的解决方法是使用
docker exec-u
。但是microk8s安装的Kubernetes集群不使用docker作为容器运行时,而只使用containerd

我没有找到在容器中作为另一个用户使用containerd的ctr cli执行命令的可能性(因为docker可以执行)


有可能吗?

如评论中所述:


@buderu我担心这将不可能与containerd的ctrl cli根据这一点

引用上述文件:

从docker cli到crictl的映射 下表映射的确切版本适用于docker cli v1.40和crictl v1.19.0

docker cli crictl 描述 不支持的功能 贴上 贴上 连接到运行的容器上 --分离密钥,--sig代理 执行官 执行官 在正在运行的容器中运行命令 --特权,--用户,--分离密钥
实际的用例是什么?通常情况下,一个容器只运行一个进程,通常没有“另一个用户”会起作用;执行附加进程通常是为调试而保留的,而不是标准的数据流。一种情况是用于调试东西,另一种情况是,容器(由root用户启动)启动apache(启动非root子进程)。子流程处理的数据由非根用户所有,容器的一些shell脚本强制执行执行脚本的用户是数据的所有者。(
su
sudo
都不可能)@buderu我担心,根据这一点,使用containerd的ctrl cli将不可能实现这一点。
su
sudo
不是选项有什么具体原因吗?