这可能是一个愚蠢的问题,但是我还是要问这个问题。
如果我运行docker exec -it <container> /bin/bash
,我想成为容器中的 super 用户。<container>
是基于fedora-base-image构建的容器,似乎为我分配了具有非sudo功能的用户。
问题:如果我的新镜像基于这样的镜像,是否仍然可以成为该镜像的 super 用户?
为什么要这个? 我想在此容器中运行gdb attach
,这给了我ptrace: Operation not permitted
。我已经尝试执行docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --security-opt apparmor=unconfined
(比较here),但是没有用。因此,我的下一个猜测是,按照同一篇文章的建议,以 super 用户身份尝试此操作。
最佳答案
使用docker run
可以传递用户标志。
-u, --user string Username or UID (format: <name|uid>[:<group|gid>])
我相信root的UID应该为0,所以我认为
-u root
-u 0
-u root:root
中的任何一个都应该工作吗?如果您正在构建Dockerfile,还可以将
USER root
添加到您的dockerfile中以切换用户。
关于docker - 如果它是基于非sudo基本镜像构建的,是否可以将docker容器作为sudo运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59378367/