【docker】CentOS8 Docker镜像中配置crontab定时任务清理log

背景

netstub项目中, nginx服务 是跑在docker容器中运行, 长时间运行会生成大量的access.log, 需要配置定时清理日志. 将crontab 直接打到镜像中, 不用每次启动容器都去配置

配置方法

dockerfile中添加如下行,

# 安装 crontabs
RUN yum -y install crontabs
# 添加定时任务  每日清空access.log文件
RUN echo "* * */1 * * cat /dev/null > /var/log/nginx/access.log" >> /var/spool/cron/root
# 启动crond
CMD /usr/sbin/crond -i

重新build image

启动容器,进入容器查看任务

sh-4.4# crontab -l
* * */1 * * cat /dev/null > /var/log/nginx/access.log

使用

实际使用中crond是跑在openresty的容器中, 所以修改resty dockerfile 如下,CMD行中执行两个命令

CMD /usr/sbin/crond && /usr/local/openresty/bin/openresty -g "daemon off;"

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值