搜索
首页运维Dockerdocker怎么解决crontab不生效

解决方法:1、排查容器内“/etc/init.d/crond status”是否为running状态;2、修改“/etc/pam.d/crond”文件,将其中的“required”修改为“sufficient”;3、利用“/etc/init.d/crond restart”重新启动crond服务即可。

docker怎么解决crontab不生效

本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。

docker怎么解决crontab不生效

在docker中默认使用centos镜像,在该镜像中没有安装crond,通过yum安装成功后,crontab没有生效。

1、首先排查容器内 /etc/init.d/crond status 是否为running状态。

如果通过第一步还无法解决,参考下面的办法:

2、修改/etc/pam.d/crond文件,将其中的required改为sufficient,然后重启crond服务:/etc/init.d/crond restart

555.png

注意:在centos7的基础镜像里面好像没有该问题。

扩展知识

最早解决方案

   1、在宿主机里面

       1 3  * * * root  cd /data/wwwroot/xxx && docker-compose exec app php think xxx >> /var/log/crontab_xxx.log

  docker-compose exec app php think xxx一直执行不成功

   2、然后在容器里面安装crontab,还是执行不成功,关键还没有相关日志。检查crontab也是启动的。 /etc/init.d/cron status

   3、装上rsyslog, apt-get install rsyslog, service rsyslog start

   查看 /var/log/syslog

Dec 25 09:07:07 1a8e4fd5c766 crontab[15120]: (root) BEGIN EDIT (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) REPLACE (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) END EDIT (root)
Dec 25 09:08:01 1a8e4fd5c766 cron[15100]: (root) RELOAD (crontabs/root)
Dec 25 09:08:01 1a8e4fd5c766 CRON[15133]: Cannot make/remove an entry for the sp

   4、修改/etc/pam.d/cron

   注释掉 session    required     pam_loginuid.so

  5、重启cron,运行成功

还有就是,将这一行添加到dockerfile中

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

 crontab执行还遇到了一个坑,手动执行脚本没有问题,因为读取了环境变量,php要写绝对路径

 /usr/local/bin/php think xxx

推荐学习:《docker视频教程

以上是docker怎么解决crontab不生效的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
将Docker与Linux一起使用:综合指南将Docker与Linux一起使用:综合指南Apr 12, 2025 am 12:07 AM

在Linux上使用Docker可以提高开发和部署效率。1.安装Docker:使用脚本在Ubuntu上安装Docker。2.验证安装:运行sudodockerrunhello-world。3.基本用法:创建Nginx容器dockerrun--namemy-nginx-p8080:80-dnginx。4.高级用法:创建自定义镜像,使用Dockerfile构建并运行。5.优化与最佳实践:使用多阶段构建和DockerCompose,遵循编写Dockerfile的最佳实践。

Docker监视:收集指标和跟踪集装箱健康Docker监视:收集指标和跟踪集装箱健康Apr 10, 2025 am 09:39 AM

Docker监控的核心在于收集和分析容器的运行数据,主要包括CPU使用率、内存使用、网络流量和磁盘I/O等指标。通过使用Prometheus、Grafana和cAdvisor等工具,可以实现对容器的全面监控和性能优化。

Docker群:建筑物可扩展和弹性的容器簇Docker群:建筑物可扩展和弹性的容器簇Apr 09, 2025 am 12:11 AM

DockerSwarm可用于构建可扩展和高可用性的容器集群。1)初始化Swarm集群使用dockerswarminit。2)加入Swarm集群使用dockerswarmjoin--token:。3)创建服务使用dockerservicecreate--namemy-nginx--replicas3nginx。4)部署复杂服务使用dockerstackdeploy-cdocker-compose.ymlmyapp。

Kubernetes的Docker:用于企业应用程序的集装箱编排Kubernetes的Docker:用于企业应用程序的集装箱编排Apr 08, 2025 am 12:07 AM

如何利用Docker和Kubernetes进行企业应用的容器编排?通过以下步骤实现:创建Docker镜像并推送到DockerHub。在Kubernetes中创建Deployment和Service以部署应用。使用Ingress管理外部访问。应用性能优化和最佳实践,如多阶段构建和资源限制。

Docker故障排除:诊断和解决常见问题Docker故障排除:诊断和解决常见问题Apr 07, 2025 am 12:15 AM

Docker常见问题可以通过以下步骤诊断和解决:1.查看容器状态和日志,2.检查网络配置,3.确保卷挂载正确。通过这些方法,可以快速定位并修复Docker中的问题,提升系统稳定性和性能。

Docker面试问题:Ace您的DevOps工程采访Docker面试问题:Ace您的DevOps工程采访Apr 06, 2025 am 12:01 AM

Docker是DevOps工程师必备的技能。1.Docker是开源的容器化平台,通过将应用程序及其依赖打包到容器中,实现隔离和可移植性。2.Docker的工作原理包括命名空间、控制组和联合文件系统。3.基本用法包括创建、运行和管理容器。4.高级用法包括使用DockerCompose管理多容器应用。5.常见错误有容器无法启动、端口映射问题和数据持久化问题,调试技巧包括查看日志、进入容器和查看详细信息。6.性能优化和最佳实践包括镜像优化、资源限制、网络优化和使用Dockerfile的最佳实践。

Docker安全硬化:保护您的容器免受漏洞Docker安全硬化:保护您的容器免受漏洞Apr 05, 2025 am 12:08 AM

Docker安全强化的方法包括:1.使用--cap-drop参数限制Linux能力,2.创建只读容器,3.设置SELinux标签。这些策略通过减少漏洞暴露面和限制攻击者能力来保护容器安全。

Docker卷:在容器中管理持久数据Docker卷:在容器中管理持久数据Apr 04, 2025 am 12:19 AM

DockerVolumes可确保数据在容器重启、删除或迁移时依然安全。1.创建Volume:dockervolumecreatemydata。2.运行容器并挂载Volume:dockerrun-it-vmydata:/app/dataubuntubash。3.高级用法包括数据共享和备份。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器