我的docker容器&x27;s crontab不';我好像没跑

我的docker容器&x27;s crontab不';我好像没跑,docker,cron,Docker,Cron,我是Docker的新手,所以请耐心听我说: 我试图在docker容器中运行5个java应用程序(通过容器中的cronjobs) 我已经创建了Dockerfile和docker compose文件。我可以启动docker容器,并且可以在容器内手动运行我的应用程序。问题是,它似乎没有通过cron运行我的东西。为了测试,我添加了一个cron条目,以便每分钟向文件中回显helloworld。它似乎没有运行。这是我的档案: Dockerfile FROM ubuntu:latest ENV LANG C.

我是Docker的新手,所以请耐心听我说:

我试图在docker容器中运行5个java应用程序(通过容器中的cronjobs)

我已经创建了Dockerfile和docker compose文件。我可以启动docker容器,并且可以在容器内手动运行我的应用程序。问题是,它似乎没有通过cron运行我的东西。为了测试,我添加了一个cron条目,以便每分钟向文件中回显helloworld。它似乎没有运行。这是我的档案:

Dockerfile

FROM ubuntu:latest
ENV LANG C.UTF-8
ENV TZ=EST
ENV DEBIAN_FRONTEND=noninteractive 
RUN mkdir -p /wrds/ingesters/logs

WORKDIR /wrds/ingesters

RUN apt-get update && apt-get install -y  \
    tzdata \
    apt-utils \
    cron \
    default-jdk \
    bash \
    postgresql \
    bsd-mailx \
    postfix \
    vim

COPY *.jar /wrds/ingesters/
COPY run* /wrds/ingesters/
COPY *.properties /wrds/ingesters/

ADD ingester_cron /etc/cron.d/root
RUN chmod 0644 /etc/cron.d/root
RUN touch /var/log/cron.log
RUN crontab /etc/cron.d/root

RUN mkfifo /var/spool/postfix/public/pickup

RUN echo 'alias ll="ls -la"' >> ~/.bashrc
RUN echo 'stty erase ^H' >> ~/.bashrc

CMD cron -L15 && tail -f /var/log/cron.log
docker-compose.yml(所有大写字母中的任何内容都由我出于安全问题编辑掉)

摄食器

0 17 * * 1 root /wrds/ingesters/run_script1
0 20 * * 1 root /wrds/ingesters/run_script2
0 23 * * 1 root /wrds/ingesters/run_script3
0 2 * * 2 root /wrds/ingesters/run_script4
* * * * * root echo "Hello World" >> /var/log/cron.log 2>&1
在中运行docker容器和ssh时,会得到以下结果:

root@1b0d719feada:/var/log# service cron status
 * cron is running

任何帮助都将不胜感激

也许你可以看看日志。也许你能更多地了解你的亲信们在做什么

Cron:
*/3****您的-Cron_BLABLA>/dev/stdout
记录到容器输出

示例:
docker编写日志-f

我加载cron作业的方式如下:

COPY ./MY-CRON-FILE.cron /

RUN crontab /tmp/MY-CRON-FILE.cron

...

根据应用程序,某些用户有时也会:

RUN crontab -u MY-USER /MY-CRON-FILE.cron
COPY ./MY-CRON-FILE.cron /

RUN crontab /tmp/MY-CRON-FILE.cron

...

RUN crontab -u MY-USER /MY-CRON-FILE.cron