Pythonとcrontabを使ったDockerイメージ

Pythonとcrontabを使ったDockerイメージ

Python コードと crontab (スケジューラ) を使用して Docker コンテナを実行しようとしています。以下は私のスクリプトです。

Dockerファイル

FROM ubuntu:latest
MAINTAINER [email protected]
RUN apt-get update && apt-get install -y software-properties-common && apt-get install -y python cron vim

# Copy hello-cron file to the cron.d directory
COPY my-crontab /etc/cron.d/my-crontab

# Give execution rights on the cron job
RUN chmod 0644 /etc/cron.d/my-crontab

ADD config.py /
ADD index.py /

RUN chmod a+x config.py index.py
# Apply cron job
RUN crontab /etc/cron.d/my-crontab

# Create the log file to be able to run tail
RUN touch /var/log/cron.log

# Run the command on container startup
#CMD cron && tail -f /var/log/cron.log
CMD ["cron", "-f"]

私のcrontab

*/2 * * * * /index.py > /dev/console

docker ファイルを作成してコードを実行しても、何も応答しません。スクリプトを実行するために docker ファイルを変更する方法を提案していただけませんか?

答え1

「docker container exec -it 'container-id' bash」を使用してコンテナに入り、そこから Python スクリプトを実行して、スクリプトが動作するかどうかを確認できます。

そこから先は複数のシナリオがあり、スクリプトに入力したシェバンの種類 (例: '#!/usr/bin/env python'、'#!/usr/bin/python' など)、コンテナーにインストールされている Python のバージョン、スクリプトがどのバージョン用に記述されているかなどによって異なります。詳細情報がなければ、これ以上のサポートはできません。

関連情報