最近在docker上部署了一个基于flask的image, 后台利用flask apscheduler在更新数据库。apscheduler在测试时可以政策运行,但放到docker上就失效了,估计时cron出问题了,后来发现image上并没有安装cron。知道问题后大概解决思路是,先安装cron,运行cron。
- 首先使用“docker exec -it”命令进入image
使用这个命令进入container,当退出container后,container仍然在后台运行,命令使用方法如下:
docker exec -it goofy_almeida /bin/bash
goofy_almeida:要启动的container的名称
/bin/bash:在container中启动一个bash shell
- 安装cron
apt-get install cron
3 . 启动cron
service cron start
- 查看cron运行情况
service cron status
参考文章:
https://stackoverflow.com/questions/20545554/how-do-i-start-cron-on-docker-ubuntu-base
https://stackoverflow.com/questions/46235982/why-doesnt-service-cron-start-work-within-the-docker-file
https://askubuntu.com/questions/952785/is-cron-running