在dockerfile使用定时任务遇见的坑
使用dockerfile做容器时没有问题,但是要在里面加上定时任务时遇见了情况
dockerfile 中 写法 CMD cron
情况1:容器运行起来后 定时任务不生效
情况2:容器起来后定时任务生效了 但是 apache挂了 /etc/init.d/apache2 status ------> fail
猜测 在 dockerfile中使用 CMD 命令时 会覆盖 默认的容器启动命令
容器启动之后 可以通过 docker inspect + 容器id ,查看容器相关信息: 效果图如下
其中 path 是其默认要启动的
args不清楚是什么但是 需要用到 看着是apache前台显示
此时进入到容器中
whereis docker-php-entrypoint 查到 具体路径 /usr/local/bin/docker-php-entrypoint
此时 dockerfile文件更改如下:
CMD cron && /usr/local/bin/docker-php-entrypoint apache2-foreground
再次构建 运行容器已经正常