我正在尝试运行一个Node 15.13.0 Alpine Docker容器,该容器每15分钟运行一次脚本。根据Alpine's wiki cron section,我应该能够在Dockerfile中添加一个RUN任务,以通过以下方式将crond作为服务运行:
rc-service crond start && rc-update add crond
但是这将返回错误:
。该容器已经非常轻巧,并且不能做很多事情。rc-service: service `crond' does not exist
仅运行一个单独的Docker容器以对该Docker容器运行cron任务是NOT
这是我的Dockerfile:
FROM node:12.13.0-alpine RUN apk add --no-cache tini openrc WORKDIR /opt/app COPY script.sh /etc/periodic/15min/ RUN chmod a+x /etc/periodic/15min/script.sh RUN rc-service crond start && rc-update add crond COPY . . RUN chmod a+x startup.sh ENTRYPOINT ["/sbin/tini", "--"] CMD ["./startup.sh"]
这里的任何帮助将不胜感激。
我正在尝试运行一个Node 15.13.0 Alpine Docker容器,该容器每15分钟运行一次脚本。根据Alpine的Wiki cron部分,我应该能够在Dockerfile中添加一个RUN任务来运行...
问题是某些Alpine Docker容器未安装busybox-initscripts package。安装此程序后,crond将作为服务运行。我遇到的另一个麻烦是run-parts
,执行/etc/periodic
文件夹中文件的命令期望没有扩展名,所以我删除了该扩展名,一切都可以正常工作了。