Skip to content

Alpine

1 post with the tag “Alpine”

Docker运行cron

有时只需要运行最简单的单命令cron任务。alpine Docker镜像提供了一个很好的选择,这个镜像通过busybox提供了一个简单灵活的cron包。

复杂的定时任务,可以通过挂载卷的方式。

Terminal window
docker run -it --rm -v $PWD/tasks.cron:/tasks.cron alpine:3.5 sh -c "crontab /tasks.cron && crond -f -L /dev/stdout"

tasks.cron

* * * * * echo hello

构建自己的Docker镜像,通过使用ENTRYPOINT可以更简洁的运行cron任务

FROM alpine:3.8
LABEL maintainer="xwxwgo.com"
COPY entrypoint.sh /
RUN chmod +x /entrypoint.sh
ENTRYPOINT [ "/entrypoint.sh" ]

entrypoint.sh

#!/bin/sh
set -e
echo "$1" | crontab - && crond -f -L /dev/stdout

构建、执行

Terminal window
# 构建镜像
$ docker build -t xw-cron ./
# 执行
$ docker run -it --rm xw-cron "* * * * * echo hello"