注意: 这是 nginx 镜像 的 s390x 架构专用仓库 — 更多信息,请参见镜像文档中的 "除 amd64 之外的架构?" 和***镜像常见问题中的 "Git 中镜像的源代码已更改,该怎么办?"。
-** 维护者:**NGINX Docker 维护者
-** 帮助支持:**Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接1.29.2, mainline, 1, 1.29, latest, 1.29.2-trixie, mainline-trixie, 1-trixie, 1.29-trixie, trixie
1.29.2-perl, mainline-perl, 1-perl, 1.29-perl, perl, 1.29.2-trixie-perl, mainline-trixie-perl, 1-trixie-perl, 1.29-trixie-perl, trixie-perl
1.29.2-alpine, mainline-alpine, 1-alpine, 1.29-alpine, alpine, 1.29.2-alpine3.22, mainline-alpine3.22, 1-alpine3.22, 1.29-alpine3.22, alpine3.22
1.29.2-alpine-perl, mainline-alpine-perl, 1-alpine-perl, 1.29-alpine-perl, alpine-perl, 1.29.2-alpine3.22-perl, mainline-alpine3.22-perl, 1-alpine3.22-perl, 1.29-alpine3.22-perl, alpine3.22-perl
1.29.2-alpine-slim, mainline-alpine-slim, 1-alpine-slim, 1.29-alpine-slim, alpine-slim, 1.29.2-alpine3.22-slim, mainline-alpine3.22-slim, 1-alpine3.22-slim, 1.29-alpine3.22-slim, alpine3.22-slim
1.28.0, stable, 1.28, 1.28.0-bookworm, stable-bookworm, 1.28-bookworm
1.28.0-perl, stable-perl, 1.28-perl, 1.28.0-bookworm-perl, stable-bookworm-perl, 1.28-bookworm-perl
1.28.0-alpine, stable-alpine, 1.28-alpine, 1.28.0-alpine3.21, stable-alpine3.21, 1.28-alpine3.21
1.28.0-alpine-perl, stable-alpine-perl, 1.28-alpine-perl, 1.28.0-alpine3.21-perl, stable-alpine3.21-perl, 1.28-alpine3.21-perl
1.28.0-alpine-slim, stable-alpine-slim, 1.28-alpine-slim, 1.28.0-alpine3.21-slim, stable-alpine3.21-slim, 1.28-alpine3.21-slim
-** 问题反馈地址:[*]
-** 支持的架构:**(更多信息) amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x
-** 镜像制品详情:**repo-info 仓库的 repos/nginx/ 目录 (历史记录)(镜像元数据、传输大小等)
-** 镜像更新:**official-images 仓库的 library/nginx 标签、official-images 仓库的 library/nginx 文件 (历史记录)
-** 本文档来源:**docs 仓库的 nginx/ 目录 (历史记录)
Nginx(发音为 "engine-x")是一款开源的反向代理服务器,支持 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议,同时也可用作负载均衡器、HTTP 缓存和 Web 服务器(源服务器)。Nginx 项目最初就以高并发、高性能和低内存占用为核心目标。它采用 2 条款 BSD 类许可证授权,可运行在 Linux、BSD 变体、Mac OS X、Solaris、AIX、HP-UX 以及其他类 Unix 系统上,也提供了 Windows 系统的概念验证版本。
***.org/wiki/Nginx
!logo
console$ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d s390x/nginx
或者,可通过简单的 Dockerfile 生成包含必要内容的新镜像(这比上述绑定挂载方式更简洁):
dockerfileFROM s390x/nginx COPY static-html-directory /usr/share/nginx/html
将此文件与内容目录("static-html-directory")放在同一目录下,然后运行以下命令构建并启动容器:
console$ docker build -t some-content-nginx . $ docker run --name some-nginx -d some-content-nginx
console$ docker run --name some-nginx -d -p 8080:80 some-content-nginx
之后,可在浏览器中访问 http://localhost:8080 或 [***]。
可通过挂载配置文件或构建新镜像来自定义配置。
若需修改默认配置,可通过以下命令从运行中的 nginx 容器获取默认配置:
console$ docker run --rm --entrypoint=cat s390x/nginx /etc/nginx/nginx.conf > /host/path/nginx.conf
然后在主机文件系统中编辑 /host/path/nginx.conf。
有关 nginx 配置文件语法的信息,请参见 ***文档(特别是 入门指南)。
console$ docker run --name my-custom-nginx-container -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d s390x/nginx
dockerfileFROM s390x/nginx COPY nginx.conf /etc/nginx/nginx.conf
如果在 Dockerfile 中添加自定义 CMD,请确保在 CMD 中包含 -g daemon off;,以使 nginx 保持在前台运行,这样 Docker 才能正确跟踪进程(否则容器启动后会立即停止)!
然后通过 docker build -t custom-nginx . 构建镜像,并按以下方式运行:
console$ docker run --name my-custom-nginx-container -d custom-nginx
默认情况下,s390x/nginx 不支持在大多数配置块中使用环境变量。但本镜像提供了一个功能,可在 nginx 启动前提取环境变量。
以下是使用 compose.yaml 的示例:
yamlweb: image: s390x/nginx volumes: - ./templates:/etc/nginx/templates ports: - "8080:80" environment: - NGINX_HOST=foobar.com - NGINX_PORT=80
默认情况下,此功能会读取 /etc/nginx/templates/*.template 中的模板文件,并将 envsubst 执行结果输出到 /etc/nginx/conf.d。
因此,若创建 templates/default.conf.template 文件,其中包含如下变量引用:
listen ${NGINX_PORT};
则会输出到 /etc/nginx/conf.d/default.conf,内容如下:
listen 80;
可通过以下环境变量修改此行为:
NGINX_ENVSUBST_TEMPLATE_DIR:包含模板文件的目录(默认:/etc/nginx/templates)。若目录不存在,模板处理功能将不执行任何操作。NGINX_ENVSUBST_TEMPLATE_SUFFIX:模板文件的后缀(默认:.template)。仅处理以此后缀结尾的文件。NGINX_ENVSUBST_OUTPUT_DIR:envsubst 执行结果的输出目录(默认:/etc/nginx/conf.d)。输出文件名是去除后缀后的模板文件名(例如:/etc/nginx/templates/default.conf.template 将输出为 /etc/nginx/conf.d/default.conf)。此目录必须可由运行容器的用户写入。要以只读模式运行 s390x/nginx,需将 Docker 卷挂载到 s390x/nginx 写入信息的所有位置。默认 s390x/nginx 配置要求对 /var/cache/nginx 和 /var/run 具有写入权限。可通过以下命令轻松实现:
console$ docker run -d -p 80:80 --read-only -v $(pwd)/nginx-cache:/var/cache/nginx -v $(pwd)/nginx-pid:/var/run nginx
如果有更复杂的配置要求 nginx 写入其他位置,只需为这些位置添加更多卷挂载即可。
1.9.8 及以上版本的镜像包含 nginx-debug 二进制文件,在使用更高日志级别时会生成详细输出。可通过简单的 CMD 替换使用:
console$ docker run --name my-nginx -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d s390x/nginx nginx-debug -g 'daemon off;'
compose.yaml 中的类似配置如下:
yamlweb: image: s390x/nginx volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro command: [nginx-debug, '-g', 'daemon off;']
自 1.19.0 版本起,添加了详细的 entrypoint 输出,用于显示容器启动过程中的信息。可通过设置环境变量 NGINX_ENTRYPOINT_QUIET_LOGS 禁用此输出:
console$ docker run -d -e NGINX_ENTRYPOINT_QUIET_LOGS=1 s390x/nginx
自 1.17.0 版本起,基于 Alpine 和 Debian 的镜像变体均使用相同的用户和组 ID 来降低工作进程的权限:
console$ id uid=101(nginx) gid=101(nginx) groups=101(nginx)
可以以非特权的任意 UID/GID 运行镜像。但这需要修改 s390x/nginx 配置,以使用该 UID/GID 对可写的目录:
console$ docker run -d -v $PWD/nginx.conf:/etc/nginx/nginx.conf s390x/nginx
当前目录下的 nginx.conf 应重新定义以下指令:
nginxpid /tmp/nginx.pid;
并在 http 上下文中添加:
nginxhttp { client_body_temp_path /tmp/client_temp; proxy_temp_path /tmp/proxy_temp_path; fastcgi_temp_path /tmp/fastcgi_temp; uwsgi_temp_path /tmp/uwsgi_temp; scgi_temp_path /tmp/scgi_temp; ... }
或者,可查看***的 Docker NGINX 非特权镜像。
s390x/nginx 镜像有多种版本,每种版本

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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