ubuntu – 在Docker上运行cron的问题在不同的主机上

前端之家收集整理的这篇文章主要介绍了ubuntu – 在Docker上运行cron的问题在不同的主机上前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图得到一个docker容器运行来管理我的cronjobs

在使用centOS 6.5 base的docker容器中运行一个非常简单的cron作为测试

* * * * * /bin/echo "it works!" >> test.log

如果容器在CoreOS主机上运行,​​则它可以正常运行,但是如果我在ubuntu 13.10主机上运行该容器,则cron不会被执行。 (我虽然主机没有影响容器中运行的内容)

两个主机都运行docker 0.8

我缺少一些明显的东西,还是这个bug?

谢谢

简短的答案

将此行添加到您的docker文件

RUN sed -i '/session    required   pam_loginuid.so/c\#session    required   pam_loginuid.so' /etc/pam.d/crond

长的答案

从我所理解的问题是与CoreOS& Unbutu。这反过来又导致了安全问题。

为了确定我们第一个需要打开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,一切都应该是好的

猜你在找的Ubuntu相关文章