简短的回答
将此行添加到您的 dockerfile
RUN sed -i '/session required pam_loginuid.so/c\#session required pam_loginuid.so' /etc/pam.d/crond
长答案
据我了解,问题与 CoreOS 和 Unbutu 之间的内核差异有关。这反过来会导致 pam 安全问题。
为了弄清楚我们首先需要为 cron 启用日志记录(因为我们在 docker 中正常启动不会执行)。跑
service rsyslog start
service crond restart
cron 日志出现此错误(位于 /var/log/cron)
FAILED to open PAM security session (Cannot make/remove an entry for the specified session)
所以然后我查看了安全日志,它有这个错误(位于 /var/log/secure)
pam_loginuid(crond:session): set_loginuid failed
更多谷歌搜索,发现我需要修改我的 pam cond 配置(在此处找到 /etc/pam.d/crond)编辑此文件并注释掉以下行
#session required pam_loginuid.so
重新启动crond,一切都应该很好