Running cron python jobs within docker

后端 未结 9 1409
挽巷
挽巷 2020-12-04 08:59

I would like to run a python cron job inside of a docker container in detached mode. My set-up is below:

My python script is test.py

#!/usr/bin/env pyt         


        
9条回答
  •  眼角桃花
    2020-12-04 09:59

    Don't mix crond and your base image. Prefer to use a native solution for your language (schedule or crython as said by Anton), or decouple it. By decoupling it I mean, keep things separated, so you don't have to maintain an image just to be the fusion between python and crond.

    You can use Tasker, a task runner that has cron (a scheduler) support, to solve it, if you want keep things decoupled.

    Here an docker-compose.yml file, that will run some tasks for you

    version: "2"
    
    services:
        tasker:
            image: strm/tasker
            volumes:
                - "/var/run/docker.sock:/var/run/docker.sock"
            environment:
                configuration: |
                    logging:
                        level:
                            ROOT: WARN
                            org.springframework.web: WARN
                            sh.strm: DEBUG
                    schedule:
                        - every: minute
                          task: helloFromPython
                    tasks:
                        docker:
                            - name: helloFromPython
                              image: python:3-slim
                              script:
                                  - python -c 'print("Hello world from python")'
    

    Just run docker-compose up, and see it working. Here is the Tasker repo with the full documentation:

    http://github.com/opsxcq/tasker

提交回复
热议问题