此Docker镜像提供了精简的Nginx设置,针对本地PHP开发环境进行了优化。
它旨在与wayofdev/docker-php-dev及其他(WOD)镜像无缝集成,为Web项目构建高效的本地开发生态系统。
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.load***.server.port=8880 - traefik.docker.network=network.${SHARED_SERVICES_NAMESPACE}
wayofdev/php-dev镜像的app服务,用于PHP处理。web服务,用于提供应用访问。有关如何在Docker Compose设置中使用此镜像的全面实际示例,请参考wayofdev/laravel-starter-tpl仓库。该模板为Laravel项目提供了使用wayofdev/php-dev镜像的完整配置开发环境。
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 ***: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镜像的质量和功能。主要测试工具是dgoss,用于测试Docker容器。
可使用以下命令运行测试:
测试默认镜像:
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社区做出贡献!我们欢迎各种形式的贡献。如果您想:
欢迎参与。贡献前,请查阅我们的贡献指南。

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429