cronプロセスをドッキングするためにDebianベースのイメージを構築しようとしていますが、cron操作は開始されません。これは私のものですDockerfile
:
FROM debian:jessie
RUN apt-get update && apt-get install -y --no-install-recommends cron
COPY jobs.txt /etc/crontab
RUN touch /log.txt
CMD ["cron", "-f"]
...そしてjobs.txt
ファイル:
* * * * * root echo "job done" >> /log.txt
COPY
交換したときにコマンドに問題があることに気づきました。
COPY jobs.txt /etc/crontab
そして
RUN echo '* * * * * root echo "job done" >> /log.txt' > /etc/crontab
それは非常にうまく動作します。
それでは、ファイルに問題があり、jobs.txt
Dockerがそのファイルを正しい方法でコピーできないのでしょうか?ファイルを修復する必要がありますか、それともまったく異なるアプローチを使用する必要がありますか?
ベストアンサー1
COPY
使用と使用の唯一の違いは、RUN
ファイルの権限です/etc/crontab
:COPY
664を使用することとRUN
644を使用することです。
/etc/crontab
必要な権限が見つかりませんが、追加した場合
RUN chmod 644 /etc/crontab
COPY
cronjobsを実行した後Dockerfile
(少なくとも私にとって)。それで、権限は次のようにすべきだと思います。644