您可以将crontab复制到映像中,以便从所述映像启动的容器运行作业。
请参阅Julien Boulay的ekito/docker-cron
中的“使用Docker运行cron作业”:
让我们创建一个名为“hello-cron
”的新文件来描述我们的工作。
* * * * * echo "Hello world" >> /var/log/cron.log 2>&1
# An empty line is required at the end of this file for a valid cron file.
FROM ubuntu:latest
MAINTAINER docker@ekito.fr
RUN apt-get update && apt-get -y install cron
# Copy hello-cron file to the cron.d directory
COPY hello-cron /etc/cron.d/hello-cron
# Give execution rights on the cron job
RUN chmod 0644 /etc/cron.d/hello-cron
# Apply cron job
RUN crontab /etc/cron.d/hello-cron
# Create the log file to be able to run tail
RUN touch /var/log/cron.log
# Run the command on container startup
CMD cron && tail -f /var/log/cron.log
(请参阅Gaafar的评论和如何使apt-get
安装噪音更小?:apt-get-y install-qq--force-yes cron
也能工作)
Nathan Lloyd在评论中指出:
关于一个错误的快速说明:
如果您正在添加一个脚本文件并告诉cron运行它,请记住运行chmod 0744/the_script
如果您忘记了,cron会自动失败。
* * * * * root echo hello > /proc/1/fd/1 2>/proc/1/fd/2
将最后一个Dockerfile行替换为
CMD ["cron", "-f"]
另请参见(关于cron-f
,即cron“前景”)“Docker ubuntucron-f
不工作”
生成并运行它:
sudo docker build --rm -t ekito/cron-example .
sudo docker run -t -i ekito/cron-example
Hello world
Hello world
参见Jason的图像analogJ/docker-cron
基于:
>
DockerFile正在安装cronie
/crond
,具体取决于发行版。
入口点初始化/etc/environment
,然后调用
cron -f -l 2
问题内容: 我试图在docker容器中运行cron作业 但对我没有用 我的容器只有cron.daily和cron.weekly文件 crontab,cron.d,cron.hourly …在我的容器中不存在 crontab -e也无法正常工作 我的容器使用/ bin / bash运行 问题答案: 这是我运行我的cron容器之一的方法。 Dockerfile: crontab.txt entry.s
问题内容: 我正在尝试在调用shell脚本的docker容器中运行cronjob。 昨天我一直在网上搜索和堆栈溢出,但是我找不到真正可行的解决方案。 我怎样才能做到这一点? 编辑: 我已经创建了一个(带注释的)github存储库,上面有一个工作的docker cron容器,该容器以给定的时间间隔调用shell脚本。 问题答案: 您可以将crontab复制到映像中,以使从该映像启动的容器运行该作业。
问题内容: 我想以分离模式在docker容器中运行python cron作业。我的设置如下: 我的python脚本是test.py 我的cron文件是my-crontab 而我的Dockerfile是 这种方法潜在的问题是什么?还有其他方法,它们的优缺点是什么? 问题答案: 我在尝试使cron作业在docker容器中运行时遇到的几个问题是: Docker容器中的时间不是UTC的本地时间; dock
这种方法的潜在问题是什么?是否还有其他方法,它们的利弊是什么?
问题内容: 我正在研究Centos7。我有一个运行Jenkins的Docker容器。在那个Jenkins容器中,我必须构建并运行其他Docker容器。但是詹金斯不认识码头工人。我能够执行一个shell并将docker安装在容器中。但是,是否有可能让容器在主机上使用我的docker- engine?如何使用? 在Jenkins-(docker)-容器中安装Docker的最佳选择是什么? 问题答案:
我已经在我的主机虚拟机上安装了docker。现在想用vi创建一个文件。 但它向我展示了一个错误: