本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
此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权限。 |
docker pull wayofdev/nginx:k8s-alpine-latest
将k8s-alpine-latest替换为您需要的类型和标签。
以下是典型设置的docker-compose.yml示例:
services: 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中设置这些变量:
services: web: image: wayofdev/nginx:k8s-alpine-latest environment: - PHP_UPSTREAM_CONTAINER=my-php-app - PHP_UPSTREAM_PORT=9001
卷挂载:如需更广泛的自定义,可挂载自己的配置文件:
services: 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证书。如需使用自己的证书:
services: 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提供了简化开发流程的各种命令。
克隆仓库:
git clone ***:wayofdev/docker-nginx.git && \ cd docker-nginx
Ansible用于生成Dockerfiles和配置。从Jinja模板源代码生成可分发的Dockerfiles:
make generate
构建默认镜像:
make build
此命令构建Makefile中IMAGE_TEMPLATE变量指定的镜像。默认设置为k8s-alpine。
构建特定镜像:
make build IMAGE_TEMPLATE="k8s-alpine"
将8.3-fpm-alpine替换为所需的PHP版本、类型和操作系统。
构建所有镜像:
make build IMAGE_TEMPLATE="k8s-alpine" make build IMAGE_TEMPLATE="dev-alpine"
这些命令将构建所有支持的镜像变体。
该项目采用测试方法确保Docker镜像的质量和功能。主要测试工具是dgoss,用于测试Docker容器。
可使用以下命令运行测试:
测试默认镜像:
make test
此命令测试Makefile中IMAGE_TEMPLATE变量指定的镜像(默认是k8s-alpine)。
测试特定镜像:
make test IMAGE_TEMPLATE="k8s-alpine"
将k8s-alpine替换为所需的镜像类型和操作系统。
测试所有镜像:
make 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429