docker 容器中cron服务无法设置开机启动

最近弄了一个数据库自动备份的脚本,打算在docker容器中使用它,过程一直很顺利,直到在设置定时任务时,跳进了docker容器埋藏的大坑。不知道官方是处于什么样的考虑,在mariadb这个镜像中竟然移除了cron这个定时服务,导致只能手动安装。
所以:

  • 我们在 Dockefiles 里面首先要安装 cron:apt-get install -y cron
  • 执行任务的脚本需要写入:echo "*/1 * * * * ./backup_db.sh" >> /etc/crontab
  • 启动 cron 的自启动:update-rc.d cron defaults 99

但是,这个 update-rc.d 并没有生效!!

阅读更多