在Docker容器中配置定时任务,可以通过以下两种方式进行:
- 使用cron定时器:
dockerfile
FROM ubuntu:20.04
RUN apt update && apt install -y cron
# 定时任务 - 每分钟执行一次
ADD crontab.txt /etc/cron.d/
# crontab.txt内容
* * * * * root echo "Hello" >> /log.txt
这种方式在构建镜像时安装cron,并添加crontab定时任务配置文件,实现定时执行某命令。
- 使用bash脚本+定时器:
dockerfile
FROM ubuntu:20.04
# 添加bash脚本
ADD script.sh /
# 定时执行bash脚本
CMD ["sh", "-c", "while :; do ./script.sh; sleep 60; done"]
script.sh内容:
bash
echo "Hello" >> /log.txt
这种方式在构建镜像时添加bash脚本,并在CMD中使用定时器每隔60秒执行一次该脚本,实现定时任务。
在运行容器时,两种方式都会定期执行echo “Hello” >> /log.txt命令,将Hello追加到log.txt文件中。