讨论 建站交流 Docker 容器中运行 su 出现 system error 问题排查

Docker 容器中运行 su 出现 system error 问题排查

Alan 发表于    阅读:204    回复:0

今日发现在 Docker 容器中操作 su xxx 切换为某个用户时,出现了 system error 的错误,没有除此之外没有任何提示。另外还发先,容器中的 cron 定时任务调度也不执行。

首先查看系统日志文件进行排查,没发现任何错误信息,该条路走不通。

在宿主机中执行 su 命令是没问题的,刚开始怀疑是否是 SELinux 问题导致的,排查宿主机的 SELinux 为 Disabled 状态,也没问题。

后来发现是由于 docker 的运行权限问题。大约在 0.6 版本,privileged 被引入 docker。使用该参数,container 内的 root 拥有真正的 root 权限。否则,container 内的 root 只是外部的一个普通用户权限。privileged 启动的容器,可以看到很多 host 上的设备,并且可以执行 mount。甚至允许你在 docker 容器中启动 docker 容器。

后来通过如下命令运行解决,新增加了 --privileged 参数,帮助各位排个坑。

docker run --name xxx --privileged xxx


我来评论
QQ
微信