本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
** 注意 **:这是 nginx官方镜像 的 arm32v5 架构构建版本的"每架构"仓库——更多信息请参见官方镜像文档中的 "非amd64架构?" 和官方镜像FAQ中的 "镜像源在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.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
-** 提交issue地址 :
[*]
-** 支持的架构 **:(更多信息)
amd64、arm32v5、arm32v6、arm32v7、arm64v8、i386、mips64le、ppc64le、riscv64、s390x
-** 已发布镜像 artifact 详情 **:
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系统,同时也提供了Microsoft Windows的概念验证版本。
***.org/wiki/Nginx
!logo
$ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d arm32v5/nginx
或者,可通过简单的Dockerfile生成包含必要内容的新镜像(比上述绑定挂载方式更简洁):
FROM arm32v5/nginx COPY static-html-directory /usr/share/nginx/html
将此文件与内容目录("static-html-directory")放在同一目录下,然后运行以下命令构建并启动容器:
$ docker build -t some-content-nginx . $ docker run --name some-nginx -d some-content-nginx
$ docker run --name some-nginx -d -p 8080:80 some-content-nginx
之后可在浏览器中访问http://localhost:8080或[***]。
可通过挂载配置文件或构建新镜像来自定义配置。
若需修改默认配置,可从运行中的nginx容器获取默认配置文件:
$ docker run --rm --entrypoint=cat arm32v5/nginx /etc/nginx/nginx.conf > /host/path/nginx.conf
然后在主机文件系统中编辑/host/path/nginx.conf。有关nginx配置文件语法的信息,请参见官方文档(特别是入门指南)。
$ docker run --name my-custom-nginx-container -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d arm32v5/nginx
FROM arm32v5/nginx COPY nginx.conf /etc/nginx/nginx.conf
若在Dockerfile中添加自定义CMD,需确保在CMD中包含-g daemon off;,使nginx保持在前台运行,以便Docker正确跟踪进程(否则容器启动后会立即停止)!
构建镜像并运行:
$ docker build -t custom-nginx . $ docker run --name my-custom-nginx-container -d custom-nginx
默认情况下,arm32v5/nginx不支持在大多数配置块中使用环境变量。但本镜像提供了一个功能,可在nginx启动前提取环境变量。
以下是使用compose.yaml的示例:
web: image: arm32v5/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。要以只读模式运行arm32v5/nginx,需将nginx写入信息的所有位置挂载为Docker卷。默认配置要求对/var/cache/nginx和/var/run具有写权限,可通过以下命令实现:
$ 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替换使用:
$ docker run --name my-nginx -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d arm32v5/nginx nginx-debug -g 'daemon off;'
compose.yaml中的类似配置如下:
web: image: arm32v5/nginx volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro command: [nginx-debug, '-g', 'daemon off;']
自1.19.0版本起,添加了详细的入口点输出,提供容器启动过程信息。可通过设置环境变量NGINX_ENTRYPOINT_QUIET_LOGS静默此输出:
$ docker run -d -e NGINX_ENTRYPOINT_QUIET_LOGS=1 arm32v5/nginx
自1.17.0版本起,基于Alpine和Debian的镜像变体使用相同的用户和组ID来降低工作进程权限:
$ id uid=101(nginx) gid=101(nginx) groups=101(nginx)
可使用低权限的任意UID/GID运行镜像,但需修改nginx配置以使用该UID/GID对可写的目录:
$ docker run -d -v $PWD/nginx.conf:/etc/nginx/nginx.conf arm32v5/nginx
当前目录下的nginx.conf需重新定义以下指令:
pid /tmp/nginx.pid;
并在http上下文中添加:
http { 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非特权镜像。
arm32v5/nginx镜像有多种变体,适用于不同使用场景。
arm32v5/nginx:<version>这是默认镜像。若不确定需求,建议使用此变体。既可作为临时容器(挂载源代码并启动容器运行应用),也可作为构建其他镜像的基础。
部分标签可能包含如bookworm或trixie等名称,这些是Debian的版本代号,表示镜像基于该Debian版本构建。若需安装镜像自带以外的额外软件包,建议显式指定这些代号以减少Debian版本更新时的兼容性问题。
arm32v5/nginx:<version>-perl / arm32v5/nginx:<version>-alpine-perl从arm32v5/nginx:1.13.0(mainline)和arm32v5/nginx:1.12.0(stable)开始,perl模块已从默认镜像中移除。若需使用perl模块,可使用单独的-perl标签变体。
查看本镜像包含软件的许可证信息。
与所有Docker镜像一样,本镜像可能包含其他软件,这些软件可能采用其他许可证(如基础发行版中的Bash等,以及主软件的任何直接或间接依赖)。
部分可自动检测的额外许可证信息可在repo-info仓库的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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429