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

今日发现在 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

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!