Linux 如何在ubuntu docker中保存crontab文件

Linux 如何在ubuntu docker中保存crontab文件,linux,ubuntu,docker,cron,Linux,Ubuntu,Docker,Cron,我使用的是docker,操作系统是Ubuntu 如果我使用crontab-e并将数据放在其中,那么cron运行良好 * * * * * /var/www/daily.sh 但是如果移除容器,那么crontab也会消失。我想将crontab放在一些文件中,比如crontab.sh,然后将其装入容器中,这样,如果我创建了容器,那么我的cron仍然存在 我不知道我需要在什么位置安装它,以便cron正常运行。差不多 /myhost/code/crontab.sh:/etc/crons.daily如中

我使用的是docker,操作系统是Ubuntu

如果我使用
crontab-e
并将数据放在其中,那么cron运行良好

* * * * *  /var/www/daily.sh
但是如果移除容器,那么crontab也会消失。我想将crontab放在一些文件中,比如
crontab.sh
,然后将其装入容器中,这样,如果我创建了容器,那么我的cron仍然存在

我不知道我需要在什么位置安装它,以便cron正常运行。差不多

/myhost/code/crontab.sh:/etc/crons.daily

如中所述,您可以复制您的文件,添加到您的
Dockerfile

FROM ubuntu:latest
MAINTAINER docker@ekito.fr

# Add crontab file in the cron directory
COPY crontab /etc/cron.d/crons.daily

# Give execution rights on the cron job
RUN chmod 0644 /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
(来源:示例“”(作者)

这样,图像将始终包含正确的cron定义

您可以使用初始化“
crontab
”的内容,该文件是要复制到图像中的本地文件

在您的情况下:
023***


如果不想在每次更改时创建新映像,请删除
复制
行,并在运行时装载该文件:

docker run -v crontab:/etc/cron.d/hello-cron -n mycontainer myimage
这样,本地文件
crontab
将作为
/etc/cron.d/hello cron
(或您想要的任何其他名称)装入容器中
每当您更改它时,请停止并重新启动容器。

我已经阅读了cron.daily在早上6:30或730点运行的内容。但我希望在晚上11点运行。此外,我希望cron文件成为源代码的一部分,以便我可以对其进行编辑。如果我将其放入docker文件,则在初始图像创建后将难以编辑created@JohnKaff我正在编辑答案。cron文件“我将是您的源代码的一部分。每次您修改它时,都要重建图像。@约翰卡夫我已经编辑了答案,添加了一种替代方法,允许您保留相同的图像并仍然从源代码中更改cron文件。谢谢这正是我要问的,现在还有一件事,
hello cron
是crontab本身或它的脚本,我需要它。”想作为cron运行吗