在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

 

再次构建 运行容器已经正常

posted @ 2022-09-28 16:58  沉浮是非  阅读(381)  评论(0编辑  收藏  举报
Title