Nginx的官方构建版本是由Nginx官方团队开发并发布的正式软件版本,具备高性能、轻量级和稳定性等核心特性,支持HTTP、HTTPS、SMTP等多种协议,可广泛应用于Web服务器部署、反向代理、负载均衡及HTTP缓存等场景,经过严格测试与优化,确保了运行的安全性和可靠性,是全球众多企业及开发者构建高效网络服务的首选官方版本。
收藏数: 2.1万
下载次数: 12791750208
类型:

library/nginxNGINX Docker 维护团队
如需帮助,可访问:
基于 Debian 系统:
1.29.2, mainline, 1, 1.29, latest 等(含 trixie 系统标签)扩展版本:
1.29.2-perl, mainline-perl 等1.29.2-otel, mainline-otel 等基于 Alpine 系统(轻量版):
1.29.2-alpine, mainline-alpine 等(含 alpine3.22 系统标签)alpine-perl, alpine-slim, alpine-otel(对应 Perl 模块、精简版、OpenTelemetry 支持)基于 Debian 系统:
1.28.0, stable, 1.28 等(含 bookworm 系统标签)扩展版本:stable-perl, stable-otel 等(Perl 模块、OpenTelemetry 支持)
基于 Alpine 系统:
1.28.0-alpine, stable-alpine 等(含 alpine3.21 系统标签)alpine-perl, alpine-slim, alpine-otelamd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, mips64le, ppc64le, riscv64, s390x(详见说明)NGINX(发音 "engine-x")是一款开源的反向代理服务器,支持 HTTP、HTTPS、SMTP、POP3、IMAP 等协议,同时具备负载均衡、HTTP 缓存和 Web 服务器(源服务器)功能。其设计初衷是高并发、高性能和低内存占用,采用 2 条款 BSD 类许可证授权,可运行于 Linux、BSD 变体、macOS、Solaris、AIX、HP-UX 等类 Unix 系统,也提供 Windows 实验性端口。
更多信息:*** - NGINX
bash$ docker run --name some-nginx -v /本地内容目录:/usr/share/nginx/html:ro -d nginx
(ro 表示只读挂载,防止容器修改本地文件)
创建 Dockerfile:
dockerfileFROM nginx COPY 本地静态目录 /usr/share/nginx/html
将 Dockerfile 与静态目录放在同一文件夹,执行:
bash$ docker build -t some-content-nginx . # 构建镜像 $ docker run --name some-nginx -d some-content-nginx # 启动容器
如需通过宿主机端口访问 NGINX,可映射端口(例如将容器 80 端口映射到宿主机 8080 端口):
bash$ docker run --name some-nginx -d -p 8080:80 some-content-nginx
访问 [***] 或 [***] 即可查看内容。
bash$ docker run --rm --entrypoint=cat nginx /etc/nginx/nginx.conf > /本地路径/nginx.conf
nginx.conf 后,挂载启动:
bash$ docker run --name my-custom-nginx -v /本地路径/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
创建 Dockerfile:
dockerfileFROM nginx COPY nginx.conf /etc/nginx/nginx.conf # 替换默认配置
构建并启动:
bash$ docker build -t custom-nginx . $ docker run --name my-custom-nginx -d custom-nginx
NGINX 配置文件默认不支持环境变量,但本镜像提供 envsubst 工具处理模板文件:
templates,添加配置模板(如 templates/default.conf.template):
nginxserver { listen ${NGINX_PORT}; # 引用环境变量 server_name ${NGINX_HOST}; }
docker-compose.yml 传入环境变量:
启动后,模板会自动渲染为yamlweb: image: nginx volumes: - ./templates:/etc/nginx/templates # 挂载模板目录 ports: - "8080:80" environment: - NGINX_HOST=foobar.com - NGINX_PORT=80
/etc/nginx/conf.d/default.conf,变量被替换为实际值。自定义模板路径/后缀:可通过环境变量调整(如 NGINX_ENVSUBST_TEMPLATE_DIR 指定模板目录,NGINX_ENVSUBST_SUFFIX 指定模板后缀)。
需挂载可写目录(NGINX 默认需写入 /var/cache/nginx 和 /var/run):
bash$ docker run -d -p 80:80 --read-only \ -v $(pwd)/nginx-cache:/var/cache/nginx \ -v $(pwd)/nginx-pid:/var/run \ nginx
使用 nginx-debug 二进制输出详细日志:
bash$ docker run --name my-nginx -v /本地路径/nginx.conf:/etc/nginx/nginx.conf:ro -d \ nginx nginx-debug -g 'daemon off;'
设置环境变量 NGINX_ENTRYPOINT_QUIET_LOGS=1 可关闭启动时的详细日志:
bash$ docker run -d -e NGINX_ENTRYPOINT_QUIET_LOGS=1 nginx
需修改配置文件指定可写路径(如 /tmp),或使用官方 nginx-unprivileged 镜像。
nginx:<version>(默认版)基于 Debian 系统,包含常用依赖,适合大多数场景。标签中含 trixie/bookworm 等为 Debian 发行版代号,建议显式指定以避免基础系统更新导致问题。
nginx:<version>-perl包含 Perl 模块(默认版已移除),适用于需 Perl 扩展的场景。
nginx:<version>-alpine基于 Alpine Linux,镜像体积极小(约 5MB 基础镜像),适合对大小敏感的环境。注意:Alpine 使用 musl libc,部分依赖 glibc 的软件可能不兼容。
nginx:<version>-slim精简版,仅含运行 NGINX 所需的最小依赖,适合资源受限环境(非特殊需求建议优先使用默认版)。
本镜像包含的 NGINX 软件遵循 NGINX 许可证。
镜像可能包含其他软件(如基础系统工具),其许可证信息可参考 repo-info 仓库的 nginx 目录。
使用前请确保遵守所有包含软件的许可证要求。
以下是 nginx 相关的常用 Docker 镜像,适用于 反向代理、负载均衡、静态资源服务 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务