如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
此Docker镜像提供了精简的Nginx设置,针对本地PHP开发环境进行了优化。
它旨在与https://github.com/wayofdev/docker-php-dev%E5%8F%8A%E5%85%B6%E4%BB%96(WOD)%E9%95%9C%E5%83%8F%E6%97%A0%E7%BC%9D%E9%9B%86%E6%88%90%EF%BC%8C%E4%B8%BAWeb%E9%A1%B9%E7%9B%AE%E6%9E%84%E5%BB%BA%E9%AB%98%E6%95%88%E7%9A%84%E6%9C%AC%E5%9C%B0%E5%BC%80%E5%8F%91%E7%94%9F%E6%80%81%E7%B3%BB%E7%BB%9F%E3%80%82
k8s-alpine变体,用于在本地测试Kubernetes设置适用于开发Laravel应用、Symfony项目或任何PHP-based Web服务,在本地环境中构建接近生产环境的开发环境。
提供创建、测试和调试Web应用的本地基础环境。
如果您喜欢/使用此镜像,请考虑⭐️为其加星。感谢!
| 变体 | 描述 |
|---|---|
| dev-alpine | 用于本地开发环境,使用80和443端口。 |
| k8s-alpine | 针对k8s和本地环境优化,使用8880和8443端口,无root权限。 |
bashdocker pull wayofdev/nginx:k8s-alpine-latest
将k8s-alpine-latest替换为您需要的类型和标签。
以下是典型设置的docker-compose.yml示例:
yamlservices: app: image: wayofdev/php-dev:8.3-fpm-alpine-latest container_name: ${COMPOSE_PROJECT_NAME}-app restart: on-failure networks: - default - shared depends_on: - database links: - database volumes: - ./.github/assets:/assets:rw,cached - ./app:/app:rw,cached - ./.env:/app/.env - ~/.composer:/.composer - ~/.ssh:/home/www-data/.ssh environment: FAKETIME: '+2h' XDEBUG_MODE: '${XDEBUG_MODE:-off}' PHIVE_HOME: /app/.phive dns: - 8.8.8.8 extra_hosts: - 'host.docker.internal:host-gateway' web: image: wayofdev/nginx:k8s-alpine-latest container_name: ${COMPOSE_PROJECT_NAME}-web restart: on-failure networks: - default - shared depends_on: - app links: - app volumes: - ./app:/app:rw,cached - ./.env:/app/.env labels: - traefik.enable=true - traefik.http.routers.api-${COMPOSE_PROJECT_NAME}-secure.rule=Host(`api.${COMPOSE_PROJECT_NAME}.docker`) - traefik.http.routers.api-${COMPOSE_PROJECT_NAME}-secure.entrypoints=websecure - traefik.http.routers.api-${COMPOSE_PROJECT_NAME}-secure.tls=true - traefik.http.services.api-${COMPOSE_PROJECT_NAME}-secure.loadbalancer.server.port=8880 - traefik.docker.network=network.${SHARED_SERVICES_NAMESPACE}
此配置包含
wayofdev/php-dev镜像的app服务,用于PHP处理。实际示例
有关如何在Docker Compose设置中使用此镜像的全面实际示例,请参考https://github.com/wayofdev/laravel-starter-tpl%E4%BB%93%E5%BA%93%E3%80%82%E8%AF%A5%E6%A8%A1%E6%9D%BF%E4%B8%BALaravel%E9%A1%B9%E7%9B%AE%E6%8F%90%E4%BE%9B%E4%BA%86%E4%BD%BF%E7%94%A8%60wayofdev/php-dev%60%E9%95%9C%E5%83%8F%E7%9A%84%E5%AE%8C%E6%95%B4%E9%85%8D%E7%BD%AE%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E3%80%82
Nginx镜像预配置为针对PHP应用的最佳性能,但您可以根据具体需求进一步自定义。
默认配置通过Ansible模板生成,包括:
虽然配置主要通过Ansible模板管理,但您可以通过以下方式进一步自定义:
环境变量:镜像使用以下环境变量:
| 变量 | 默认值 | 描述 |
|---|---|---|
| PHP_UPSTREAM_CONTAINER | app | PHP-FPM容器名称 |
| PHP_UPSTREAM_PORT | 9000 | PHP-FPM容器端口 |
在docker-compose.yml中设置这些变量:
yamlservices: web: image: wayofdev/nginx:k8s-alpine-latest environment: - PHP_UPSTREAM_CONTAINER=my-php-app - PHP_UPSTREAM_PORT=9001
卷挂载:如需更广泛的自定义,可挂载自己的配置文件:
yamlservices: web: image: wayofdev/nginx:k8s-alpine-latest volumes: - ./custom-nginx.conf:/etc/nginx/nginx.conf - ./custom-default.conf:/etc/nginx/conf.d/default.conf
镜像包含自签名SSL证书。如需使用自己的证书:
yamlservices: web: image: wayofdev/nginx:k8s-alpine-latest volumes: - ./certs/cert.pem:/etc/nginx/ssl/cert.pem - ./certs/key.pem:/etc/nginx/ssl/key.pem
如需高级配置:
src目录中的Ansible模板make generate重新生成Dockerfiles该项目使用一系列工具进行开发和测试。Makefile提供了简化开发流程的各种命令。
克隆仓库:
bashgit clone git@github.com:wayofdev/docker-nginx.git && \ cd docker-nginx
Ansible用于生成Dockerfiles和配置。从Jinja模板源代码生成可分发的Dockerfiles:
bashmake generate
构建默认镜像:
bashmake build
此命令构建Makefile中IMAGE_TEMPLATE变量指定的镜像。默认设置为k8s-alpine。
构建特定镜像:
bashmake build IMAGE_TEMPLATE="k8s-alpine"
将8.3-fpm-alpine替换为所需的PHP版本、类型和操作系统。
构建所有镜像:
bashmake build IMAGE_TEMPLATE="k8s-alpine" make build IMAGE_TEMPLATE="dev-alpine"
这些命令将构建所有支持的镜像变体。
该项目采用测试方法确保Docker镜像的质量和功能。主要测试工具是https://github.com/aelsabbahy/goss/tree/master/extras/dgoss%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%B5%8B%E8%AF%95Docker%E5%AE%B9%E5%99%A8%E3%80%82
可使用以下命令运行测试:
测试默认镜像:
bashmake test
此命令测试Makefile中IMAGE_TEMPLATE变量指定的镜像(默认是k8s-alpine)。
测试特定镜像:
bashmake test IMAGE_TEMPLATE="k8s-alpine"
将k8s-alpine替换为所需的镜像类型和操作系统。
测试所有镜像:
bashmake test IMAGE_TEMPLATE="k8s-alpine" make test IMAGE_TEMPLATE="dev-alpine"
测试配置在每个镜像变体的goss.yaml文件中定义,指定要运行的测试,包括:
运行make test命令时,将执行以下步骤:
goss.yaml中定义的测试。该项目有安全策略。
感谢您考虑为wayofdev社区做出贡献!我们欢迎各种形式的贡献。如果您想:
欢迎参与。贡献前,请查阅我们的贡献指南。

来自真实用户的反馈,见证轩辕镜像的优质服务