My Dockerfile ดูเหมือนจะสร้างอย่างถูกต้อง (มันบอกฉันอย่างนั้น) เมื่อฉันเรียกใช้คอนเทนเนอร์ฉันได้รับข้อความแสดงข้อผิดพลาดด้านล่าง ฉันได้ลองใช้คำสั่ง ( CMD
) โดยมีและไม่มีไดเรกทอรีของบริการ
crontab.sh
โดยทั่วไปจะเขียนกำหนดการ cron ไปยังไฟล์ข้อความ ( cron.jobs
) แล้วนำเข้าไฟล์ข้อความไปยัง crontab
Dockerfile:
FROM node:0.10
MAINTAINER Tom
VOLUME /var/log/
RUN mkdir /pulse
ADD . /pulse
WORKDIR /pulse
RUN apt-get update && apt-get install -y cron
ADD *.sh /pulse/
RUN chmod 750 /pulse/crontab.sh && chmod 750 /pulse/
RUN chmod 644 /etc/crontab
CMD cron -f
CMD touch /var/log/cron.log && sh /pulse/crontab.sh && tail -f /var/log/cron.log
CMD cron /pulse/cron.jobs
CMD crontab -l
edited to add crontab.sh
crontab.sh (crons บางส่วนถูกลบแล้ว):
#!/bin/bash
cat <<- 'EOF' > cron.jobs
0 * * * * node /pulse/scripts/awsPulseTest.js > /tmp/awsPulseTest.log 2>&1
EOF
crontab cron.jobs
ข้อผิดพลาด:
no crontab for root
หมายเหตุด้านข้าง:
- Pulse เป็นชื่อของบริการ
- รุ่นของโหนดเก่าเนื่องจากการให้บริการนี้จะได้รับการอัพเกรด
- บริการเป็นสิ่งสำคัญสำหรับงาน cron ในโหนด