見出し画像

Dockerコンテナ内のPythonを定期実行させる

Docker内のPythonをホストのcronで定期実行させる方法

20 * * * * docker exec -i コンテナ名 python main.py

上記を設定しても実行されてない。そのためフルパスで指定してcronを書き換える

※cronのログが無い場合は以下の設定を見直し

/etc/rsyslog.d/50-default.conf
の以下の行をコメントアウト化し
#cron .* /var/log/cron.log
そのあと
sudo systemctl restart rsyslog.service
でサービス再起動で設定を反映させておく

/etc/rsyslog.d/50-default.conf

正常に実行されたときの書き方例

20 * * * * /usr/bin/docker exec -i コンテナ名 /usr/local/bin/python main.py