Docker镜像,包含Nginx 1.24.0和FPM 8.3.8版本。
基于https://github.com/Islandora-DevOps/isle-buildkit/tree/main/nginx%E6%9E%84%E5%BB%BA%E3%80%82
有关更多深入信息,请参考Nginx文档和FPM文档。
该镜像可作为所有基于PHP的服务(如nginx等)的基础Docker镜像,也可单独使用。
构建需依赖islandora/base Docker镜像。有关更多信息,请参考基础镜像README。
注意:对于以下所有设置,从
islandora/nginx派生的镜像会为每个设置添加前缀。例如,PHP_LOG_LEVEL会变为HOUDINI_PHP_LOG_LEVEL,这是为了允许每个服务使用不同的设置。
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| NGINX_CLIENT_BODY_TIMEOUT | 60s | 读取客户端请求体的超时时间 |
| NGINX_CLIENT_MAX_BODY_SIZE | 1m | 指定客户端请求的最大可接受 body 大小 |
| NGINX_ERROR_LOG_LEVEL | warn | 错误日志的日志级别 |
| NGINX_FASTCGI_CONNECT_TIMEOUT | 60s | 与FastCGI服务器建立连接的超时时间 |
| NGINX_FASTCGI_READ_TIMEOUT | 60s | 从FastCGI服务器读取响应的超时时间 |
| NGINX_FASTCGI_SEND_TIMEOUT | 60s | 向FastCGI服务器传输请求的超时时间 |
| NGINX_KEEPALIVE_TIMEOUT | 75s | 长连接的超时时间 |
| NGINX_LINGERING_TIMEOUT | 5s | 等待更多客户端数据到达的最长时间 |
| NGINX_PROXY_CONNECT_TIMEOUT | 60s | 与被代理服务器建立连接的超时时间 |
| NGINX_PROXY_READ_TIMEOUT | 60s | 从被代理服务器读取响应的超时时间 |
| NGINX_PROXY_SEND_TIMEOUT | 60s | 向被代理服务器传输请求的超时时间 |
| NGINX_REAL_IP_HEADER | X-Forwarded-For | 用于替换客户端地址的请求头字段 |
| NGINX_REAL_IP_RECURSIVE | off | 参见[***] |
| NGINX_SEND_TIMEOUT | 60s | 向客户端传输响应的超时时间 |
| NGINX_SET_REAL_IP_FROM | 172.0.0.0/8 | 已知会发送正确替换地址的可信地址 |
| NGINX_SET_REAL_IP_FROM2 | 172.0.0.0/8 | 已知会发送正确替换地址的可信地址 |
| NGINX_SET_REAL_IP_FROM3 | 172.0.0.0/8 | 已知会发送正确替换地址的可信地址 |
| NGINX_WORKER_CONNECTIONS | 1024 | 工作进程可同时打开的最大连接数 |
| NGINX_WORKER_PROCESSES | auto | 根据CPU核心数自动设置工作进程数 |
| 环境变量 | 默认值 | 描述 |
|---|---|---|
| PHP_DEFAULT_SOCKET_TIMEOUT | 60 | 基于套接字的流的默认超时时间(秒) |
| PHP_LOG_LEVEL | notice | 日志级别。可能的值:alert、error、warning、notice、debug |
| PHP_LOG_LIMIT | *** | 单行日志的最大字符数限制 |
| PHP_MAX_EXECUTION_TIME | 30 | 每个脚本的最大执行时间(秒) |
| PHP_MAX_FILE_UPLOADS | 20 | 单次请求可上传的最大文件数量 |
| PHP_MAX_INPUT_TIME | 60 | 每个脚本解析请求数据的最长时间(秒) |
| PHP_MEMORY_LIMIT | 128M | 脚本可消耗的最大内存量 |
| PHP_PM | dynamic | 进程管理方式:static、dynamic或ondemand |
| PHP_PM_MAX_CHILDREN | 5 | 可同时处理的请求数 |
| PHP_PM_START_SERVERS | 2 | 启动时创建的子进程数 |
| PHP_PM_MIN_SPARE_SERVERS | 1 | 期望的最小空闲服务器进程数(仅dynamic模式) |
| PHP_PM_MAX_SPARE_SERVERS | 3 | 期望的最大空闲服务器进程数(仅dynamic模式) |
| PHP_PM_IDLE_TIMEOUT | 10s | 空闲进程被终止前的等待时间(仅ondemand模式) |
| PHP_PM_MAX_REQUESTS | 0 | 每个子进程执行请求后重启前的请求数 |
| PHP_POST_MAX_SIZE | 128M | PHP可接受的POST数据最大大小 |
| PHP_PROCESS_CONTROL_TIMEOUT | 60 | 子进程等待主进程信号响应的超时时间 |
| PHP_REQUEST_TERMINATE_TIMEOUT | 60 | 处理单个请求的超时时间,超时后工作进程将被终止 |
| PHP_UPLOAD_MAX_FILESIZE | 128M | 上传文件的最大允许大小 |
您可以通过修改Dockerfile中显示为XXXXXXXXXXXX的构建参数COMPOSER_VERSION和COMPOSER_SHA256来更改composer使用的版本,如下片段所示:
DockerfileARG COMPOSER_VERSION=XXXXXXXXXXXX #... ARG COMPOSER_SHA256=XXXXXXXXXXXX
您可以使用以下命令生成SHA256:
bashCOMPOSER_VERSION=$(cat nginx/Dockerfile | grep -o 'COMPOSER_VERSION=.*' | cut -f2 -d=) COMPOSER_FILE=$(cat nginx/Dockerfile | grep -o 'COMPOSER_FILE=.*' | cut -f2 -d=) COMPOSER_URL=$(cat nginx/Dockerfile | grep -o 'COMPOSER_URL=.*' | cut -f2 -d=) FILE=$(eval "echo $COMPOSER_FILE") URL=$(eval "echo $COMPOSER_URL") wget --quiet "${URL}" shasum -a 256 "${FILE}" | cut -f1 -d' ' rm "${FILE}"
以下是 islandora/nginx 相关的常用 Docker 镜像,适用于 反向代理、负载均衡、静态资源服务 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务