docker - 如果它是基于非sudo基本镜像构建的,是否可以将docker容器作为sudo运行?

标签 docker gdb fedora sudo ptrace

这可能是一个愚蠢的问题,但是我还是要问这个问题。

如果我运行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/

相关文章:

ruby-on-rails - 部署docker-composer镜像时出现困惑

wordpress - Nginx,Wordpress和SQL

c - 内核模块没有找到调试符号

c - 如何在 .bundle 文件中模拟 objdump --dwarf=decodedline?

linux - 一种转换音频文件比特率/格式的方法(在上传和存储到 S3 之间)

logging - 是否可以从 Docker 容器中读取通过标准输出传递的消息? (没有 `docker logs` )

docker - 无法在 dockerfile 中设置代理

c - 程序接收信号SIGTRAP、Trace/断点陷阱

php - 将文件夹从一台 fedora 15 服务器同步到另一台

mysql - 无法通过套接字 ‘/var/lib/mysql/mysql.sock’连接到本地MySQL服务器(2)Fedora Linux