
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
用于运行Roadiz应用、定时任务(cron-jobs)和工作进程(workers)的基础php-fpm镜像
本镜像不提供Nginx服务器,但包含dcron和多种图像处理二进制文件。它监听9000端口,需与独立的Nginx容器配合使用。
请确保在项目根目录使用.dockerignore文件,避免包含已有的缓存文件或构建时的依赖(如node_modules)。
构建项目Docker镜像前,请准备好项目源码:
composer install -o本镜像设计为每次仅运行一个进程。如果项目需要运行定时任务(cron jobs)或工作进程(Symfony Messenger),应为每个进程使用单独的容器,并覆盖容器的入口点(仅主应用容器应启动docker-php-entrypoint)。
在Roadiz/Symfony项目中创建docker/php-fpm-alpine/Dockerfile文件。
您可以通过覆盖以下文件来自定义镜像:
docker/php-fpm-alpine/php.prod.inidocker/php-fpm-alpine/crontab.txtdocker/php-fpm-alpine/docker-php-entrypointDockerfile# 文件:docker/php-fpm-alpine/Dockerfile FROM roadiz/php82-fpm-alpine:latest MAINTAINER Ambroise Maupate <ambroise@rezo-zero.com> ARG USER_UID=1000 RUN usermod -u ${USER_UID} www-data \ && groupmod -g ${USER_UID} www-data # 复制自定义配置文件 COPY docker/php-fpm-alpine/php.prod.ini /usr/local/etc/php/php.ini COPY docker/php-fpm-alpine/crontab.txt /crontab.txt COPY docker/php-fpm-alpine/docker-php-entrypoint /usr/local/bin/docker-php-entrypoint # 复制项目文件 COPY --chown=www-data:www-data . /var/www/html/ RUN ln -s /var/www/html/bin/console /usr/local/bin/console \ && /usr/bin/crontab -u www-data /crontab.txt \ && chmod +x /usr/local/bin/docker-php-entrypoint \ && chown -R www-data:www-data /var/www/html/ # 定义持久化数据卷目录 VOLUME /var/www/html/config/jwt \ /var/www/html/config/secrets \ /var/www/html/public/files \ /var/www/html/public/assets \ /var/www/html/var/files \ /var/www/html/var/secret
yamlapp: build: dockerfile: ./docker/php-fpm-alpine context: . args: USER_UID: ${USER_UID} restart: always depends_on: - db - redis volumes: # 为持久化数据提供命名卷 - app_jwt_data:/var/www/html/config/jwt - app_file_data:/var/www/html/public/files - app_assets_data:/var/www/html/public/assets - app_private_file_data:/var/www/html/var/files - app_secret_data:/var/www/html/config/secrets networks: - default environment: APP_ENV: ${APP_ENV} APP_RUNTIME_ENV: ${APP_RUNTIME_ENV} APP_DEBUG: ${APP_DEBUG}
yamlcron: extends: app init: true entrypoint: [ "crond", "-f", "-L", "15" ] restart: always
yamlworker: extends: app deploy: replicas: 1 entrypoint: [ "php", "/var/www/html/***/console", "messenger:consume", "async", "--time-limit=1800" ] restart: always
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务