背景:需要在docker容器内一分钟运行一次schedule命令
一开始的思路是在容器内直接运行命令,于是
1.yum安装crontab
2.crontab -e设置命令
3.crontab -l检查命令
4.service start cron启动cron 报错
Failed to get D-Bus connection: Operation not permitted
百度了下这个错误,两个解决方法
1.运行容器开启特殊权限
2.将CMD或者entrypoint设置为/usr/sbin/init
这两种方式都试了一下都不行,有知道原因的老哥欢迎指导
然后换了个思路,在宿主机里执行定时任务
1.在项目目录下写好执行的命令sh文件
2.宿主机写命令docker exec php-test sh /var/www/html/test.sh(这里不要加-it)
3.在 /var/log/cron.log查看执行情况
这个方法可以成功