ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

docker php-alpine 定时任务

2023-12-16 21:45:33  阅读:107  来源: 互联网

标签:


在使用 Docker 容器中的 php-alpine 镜像时,可以使用 crond 守护进程来设置和运行定时任务。以下是在 php-alpine 镜像中设置定时任务的简单步骤:

  1. 创建一个 Dockerfile,用于构建你自己的镜像:

    FROM php:alpine
    
    # 安装 crond 和其他需要的工具
    RUN apk update && apk add busybox-extras
    
    # 复制定时任务文件到容器中
    COPY cronjobs /etc/crontabs/root
    
    # 在容器启动时运行 crond 服务
    CMD ["crond", "-f"]
    

    Docker

   上述 Dockerfile 定义了一个基于 `php:alpine` 镜像的自定义镜像,安装了 `crond` 以及其他你可能需要的工具。它还将 `cronjobs` 文件复制到容器的 `/etc/crontabs/root` 目录中,并在容器启动时运行 `crond` 服务。

2. 创建一个 `cronjobs` 文件,用于定义定时任务:

   ```shell
   * * * * * php /path/to/your/script.php >> /var/log/cron.log 2>&1
   

cronjobs 文件内容类似于在 Alpine Linux 中设置定时任务的内容,只是这里我们使用了 php 命令来运行一个 PHP 脚本,并将输出重定向到 /var/log/cron.log 文件中。

  1. 构建和运行 Docker 容器:

    docker build -t my-php-alpine .
    docker run -d my-php-alpine
    

    Shell

   上述命令将构建自定义的 `my-php-alpine` 镜像,并在后台运行一个容器。

现在,你的定时任务应该已经设置并开始执行了。你可以在容器中查看 `/var/log/cron.log` 文件来查看定时任务的执行结果。

希望这能帮助到你。如果你还有其他问题,请随时提问。

标签:
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有