can';t从docker compose执行cron

can';t从docker compose执行cron,docker,docker-compose,cron,Docker,Docker Compose,Cron,我想用我的web应用程序实现cron,所以我在同一个dockerfile中安装了它。 在构建堆栈之后,我得到了这个错误 cron:无法打开或创建/var/run/crond.pid:权限被拒绝启动定期命令计划程序:cron失败 这是我的.YAML文件: 版本:“3.7” 服务: 詹金斯·德夫: 图片:**/jenkins/** 环境: JAVA_选项:> '*******' 詹金斯选择:> '******' 卷数: -/mnt/nfs-dev/jenkins/dev:/var/jenkins\u

我想用我的web应用程序实现cron,所以我在同一个dockerfile中安装了它。 在构建堆栈之后,我得到了这个错误

cron:无法打开或创建/var/run/crond.pid:权限被拒绝启动定期命令计划程序:cron失败

这是我的.YAML文件:

版本:“3.7”
服务:
詹金斯·德夫:
图片:**/jenkins/**
环境:
JAVA_选项:>
'*******'
詹金斯选择:>
'******'
卷数:
-/mnt/nfs-dev/jenkins/dev:/var/jenkins\u home
-/data/jenkins-dev/war:/usr/share/jenkins/war
-/data/jenkins-dev/logs:/var/jenkins/log
-/data/jenkins-dev/backup:/var/jenkins/backup
网络:
-代理
部署:
标签:
- ******
模式:复制
副本:1份
安置:
约束:[node.role!=manager]
重新启动\u策略:
条件:任何
克朗:
图:**/jenkins/***
命令:/etc/init.d/cron start
网络:
代理:
外部:正确
这是我在Dockerfile中的
入口点

ENTRYPOINT[“/sbin/tini”、“-”、“/usr/local/bin/jenkins.sh”]

我在Docker容器中使用tini作为subreaper来采用僵尸进程

这就是我运行cron的部分

RUN apt-get update && \
  apt-get upgrade -y && \
  apt-get install -y git curl && \
  apt-get install -y cron && \
  apt-get install -y logrotate && \
  curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \
  apt-get install -y git-lfs && \
  git lfs install && \
  rm -rf /var/lib/apt/lists/*

#Copy logrotate config file
COPY logrotate-cfg /etc/logrotate.d/

#Change file permission
RUN chmod 0644 /etc/logrotate.d/logrotate-cfg

#Copy cron config file
COPY cron-cfg /var/spool/cron/crontabs
RUN chmod 0644 /var/spool/cron/crontabs/cron-cfg

#Add cron configuration in a existing configuration file
RUN echo "* * * * * root /usr/sbin/logrotate -f /etc/logrotate.d/logrotate-cfg" >> /etc/crontab

请花点时间正确格式化您的代码样本;现在基本上难以辨认。编辑问题时有格式帮助。该
命令:
也不起作用;容器将立即退出。初始化脚本在Docker中根本不起作用。例如,您可以查看一些更完整的食谱。