如何给debian的码头工人容器添加crontab定时任务

  介绍

这篇文章将为大家详细讲解有关如何给debian的码头工人容器添加crontab定时任务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

现在大部分的docke镜像是基于debian

#, cat /etc/问题   Debian  GNU/Linux  9, \ n  \ l

码头工人容器是不支持后台服务的,像systemctl服务crontab这些后台运行的服务是不能通过

<代码> systemctl开始运行nginx

类似这种方案实现的,你必须写自己的入口点脚本来启动。本文记录了基于Debian的码头工人容器设置定时任务的方式。

<强>案例背景

我部署一个前端项目,使用nginx镜像,由于官方镜像是基于Debian,对比高山也不觉得体积差多少,于是就使用Debian作为容器系统。

Dockerfile看起来是这样的

得到nginx: 1.15.10   MAINTAINER  Ryan 苗族      COPY  sources.list /etc/apt/sources.list   RUN  apt-get  update ,,, apt-get  install  -y  net-tools  procps  curl  wget  vim  telnet  cron    ,,,,,apt-get  autoremove ,,, apt-get  clean ,,, rm  -rf /var/lib//清单/*      RUN  mkdir  -p /数据/日志/nginx ,,, mkdir  -p /数据/web ,,, rm /etc/nginx/conf.d/default.conf   ADD  default.conf /etc/nginx/conf.d/ADD  index.html /数据/web/ADD  clean_log.sh /数据/COPY  clean-cron /etc/cron.d/clean-cron   RUN  chmod  755年,/数据/clean_log.sh ,,, crontab /etc/cron.d/clean-cron      ENTRYPOINT  nginx ,,, cron ,,,/bin/bash

大概就是安装cron,然后替换nginx配置,然后复制我们的静态文件,最后启动nginx,启动cron。

说说为啥会有定时任务。可以看到我们是有定时清理脚本的,由于nginx自己没提供日志处理模块,所以才有清理脚本。清理脚本需要定时执行,于是就有定时任务,于是发现码头工人容器是不支持服务的。

总的来说一共有以下几步:安装

<代码> apt-get安装cron

添加到crontab

<代码> crontab/etc/cron.d/your-crontab

码头工人启动时启动cron

<代码>入口点cron,,xxxxx

关于“如何给debian的码头工人容器添加crontab定时任务”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

如何给debian的码头工人容器添加crontab定时任务