我有命令
docker-compose -f docker-compose-deploy.yml run --rm app sh -c "python manage.py runcrons"
如果我从终端运行它就可以了。现在我想从 crontab 运行这个命令,但我有点不知道应该如何编写这个命令。根据我在这里找到的东西,我尝试了很多东西:
*/5 * * * * cd /home/ec2-user/legend-of-solgard; docker-compose -f docker-compose-deploy.yml run --rm app sh -c“python 管理 runcrons”
*/5 * * * * /usr/bin/docker-compose -f /home/ec2-user/legend-of-solgard/docker-compose-deploy.yml exec -T app run --rm app sh -c “python 管理 runcrons”
但是没有任何作用。
我不完全确定你想做什么,但奥菲莉亚也许能做你想做的事。它有点类似于 cron,因为你可以在 docker-compose 文件中指定命令的计划,我的配置如下:
ofelia:
image: mcuadros/ofelia:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- backend
command: daemon --docker
labels:
- ofelia.job-exec.enable=true
- ofelia.job-exec.backend.schedule=0 0,20,40 7-23 * * *
- ofelia.job-exec.backend.command=python /home/app/web/manage.py runcrons
- ofelia.job-exec.backend.container=backend
另请查看此处的文档:https://github.com/mcuadros/ofelia
当然您可以根据自己的喜好更改时间表