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 のバージョン、スクリプトがどのバージョン用に記述されているかなどによって異なります。詳細情報がなければ、これ以上のサポートはできません。