LinuxServer.io提供的Nginx容器,用于部署Web服务器、实现反向代理及HTTP缓存等基础Web服务。

236 次收藏下载次数: 0状态:社区镜像维护者:LinuxServer.io 社区镜像仓库类型:镜像最近更新:8 天前
让 AI 帮你使用轩辕镜像?

如果你使用 DeepSeek元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AIDeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

下载命令
点击查看

linuxserver/nginx Docker 镜像文档

镜像概述和主要用途

https://github.com/linuxserver/docker-nginx 是由 LinuxServer.io 团队提供的 Nginx 容器镜像。Nginx 是一款轻量级 Web 服务器,支持 PHP 功能,配置文件存放于 /config 目录,便于用户自定义修改。该镜像旨在提供稳定、易用的 Nginx 部署方案,适用于各类 Web 服务场景。

核心功能和特性

LinuxServer.io 团队特性

  • 定期应用更新:及时同步上游 Nginx 及 PHP 版本更新
  • 灵活用户映射:通过 PUID/PGID 轻松配置容器内用户权限,避免宿主机权限冲突
  • 自定义基础镜像:集成 s6 overlay 进程管理系统,确保服务稳定运行
  • 每周系统更新:统一维护基础 OS 层,减少存储空间占用、 downtime 及带宽消耗
  • 定期安全更新:及时修复已知安全漏洞,保障服务安全性

Nginx 镜像特性

  • PHP 支持:内置 PHP 环境,可直接运行 PHP 应用
  • 易配置性:所有配置文件集中于 /config 目录,便于持久化和自定义
  • 多架构支持:适配 x86-64、arm64 等主流架构
  • 只读文件系统:支持以只读模式运行容器(需特殊配置)
  • 配置自动重载:支持监控配置文件变化并自动重启 Nginx,无需手动干预

使用场景和适用范围

  • 个人网站托管:部署静态网站或 PHP 动态网站(如 WordPress、Typecho 等)
  • 开发测试环境:快速搭建本地 Web 服务,模拟生产环境
  • 轻量级应用服务:作为反向代理、负载均衡器或静态资源服务器
  • 容器化部署:与 Docker Compose 或 Kubernetes 集成,实现服务编排

详细使用方法和配置说明

支持的架构

该镜像通过 Docker 清单实现多平台支持,拉取 lscr.io/linuxserver/nginx:latest 即可自动匹配对应架构。也可通过标签指定特定架构:

架构支持情况标签格式
x86-64amd64-<version tag>
arm64arm64v8-<version tag>

应用配置

  1. 网站文件部署:将网站文件放入宿主机映射到容器 /config/www 的目录中
  2. 配置文件修改:Nginx、PHP 及站点配置文件位于容器 /config 目录下,可直接修改并持久化到宿主机

只读模式运行

支持以只读文件系统模式运行容器,需注意:

  • 必须将 /tmp 挂载为 tmpfs(临时文件系统)

部署示例

Docker Compose(推荐)

yaml
---
services:
  nginx:
    image: docker.xuanyuan.run/linuxserver/nginx:latest
    container_name: nginx
    environment:
      - PUID=1000               # 用户ID(详见下方说明)
      - PGID=1000               # 组ID(详见下方说明)
      - TZ=Etc/UTC              # 时区(如 Asia/Shanghai)
      - NGINX_AUTORELOAD=       # 可选,设为true启用配置自动重载
      - NGINX_AUTORELOAD_WATCHLIST=  # 可选,额外监控目录(竖线分隔,如 /config/php)
    volumes:
      - /path/to/nginx/config:/config  # 配置文件持久化目录
      - /tmp:/tmp                       # 只读模式需挂载tmpfs(如 --tmpfs /tmp)
    ports:
      - 80:80                   # HTTP端口映射
      - 443:443                 # HTTPS端口映射
    restart: unless-stopped
    read_only: false            # 如需只读模式,设为true并配置/tmp

Docker CLI

bash
docker run -d \
  --name=nginx \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -e NGINX_AUTORELOAD= `# 可选,设为true启用配置自动重载` \
  -e NGINX_AUTORELOAD_WATCHLIST= `# 可选,竖线分隔的额外监控目录` \
  -p 80:80 \
  -p 443:443 \
  -v /path/to/nginx/config:/config \
  --restart unless-stopped \
  lscr.io/linuxserver/nginx:latest

参数说明

容器运行时通过参数(如上述示例)进行配置,格式为 <外部>:<内部>

参数功能说明
-p 80:80HTTP 端口映射(宿主机:容器)
-p 443:443HTTPS 端口映射(宿主机:容器)
-e PUID=1000用户ID,用于解决宿主机与容器权限冲突,通过 id your_user 命令获取
-e PGID=1000组ID,同上
-e TZ=Etc/UTC时区设置,参考 时区列表
-e NGINX_AUTORELOAD=设为 true 启用配置自动重载(需文件系统支持 inotify)
-e NGINX_AUTORELOAD_WATCHLIST=额外监控目录(竖线分隔),默认监控 /config/nginx
-v /config配置文件持久化目录(包含 Nginx 配置、PHP 配置、网站文件等)
--read-only=true以只读文件系统模式运行容器(需配合 /tmp 挂载 tmpfs)

从文件加载环境变量(Docker Secrets)

支持通过 FILE__ 前缀从文件加载环境变量,例如:

bash
-e FILE__MYVAR=/run/secrets/mysecretvariable

上述命令会将 /run/secrets/mysecretvariable 文件内容作为 MYVAR 环境变量的值。

应用权限掩码(Umask)

可通过 -e UMASK=022 覆盖容器内服务的默认 umask 设置。注意:umask 是权限掩码,通过减法而非加法调整权限,详情参考 umask 说明。

用户/组标识符(PUID/PGID)

使用卷挂载(-v)时,宿主机与容器可能出现权限冲突。通过指定 PUID(用户ID)和 PGID(组ID),确保宿主机卷目录与容器内用户权限一致。获取当前用户的 PUID/PGID:

bash
id your_user

示例输出:

text
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)

Docker Mods

该镜像支持通过 Docker Mods 扩展功能,可查看 https://mods.linuxserver.io/?mod=nginxhttps://mods.linuxserver.io/?mod=universal 获取更多信息。

支持信息

  • 容器内命令行访问

    bash
    docker exec -it nginx /bin/bash
    
  • 实时日志监控

    bash
    docker logs -f nginx
    
  • 查看容器版本

    bash
    docker inspect -f '{{ index .Config.Labels "build_version" }}' nginx
    
  • 查看镜像版本

    bash
    docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nginx:latest
    

更新说明

该镜像为静态版本,需通过更新镜像并重建容器来升级应用。

通过 Docker Compose 更新

  • 更新镜像

    bash
    # 更新所有镜像
    docker-compose pull
    # 仅更新 nginx 镜像
    docker-compose pull nginx
    
  • 更新容器

    bash
    # 更新所有容器
    docker-compose up -d
    # 仅更新 nginx 容器
    docker-compose up -d nginx
    
  • 清理旧镜像

    bash
    docker image prune
    

通过 Docker Run 更新

  • 更新镜像

    bash
    docker pull docker.xuanyuan.run/linuxserver/nginx:latest
    
  • 停止并删除旧容器

    bash
    docker stop nginx
    docker rm nginx
    
  • 重建容器:使用原 docker run 参数重建,/config 目录持久化确保配置保留

  • 清理旧镜像

    bash
    docker image prune
    

镜像更新通知工具

推荐使用 https://crazymax.dev/diun/ 监控镜像更新,不建议使用自动更新容器的工具。

本地构建

如需自定义镜像,可本地构建:

bash
git clone https://github.com/linuxserver/docker-nginx.git
cd docker-nginx
docker build \
  --no-cache \
  --pull \
  -t lscr.io/linuxserver/nginx:latest .

跨架构构建(如 x86_64 构建 arm64 镜像)需先注册 qemu-static:

bash
docker run --rm --privileged docker.xuanyuan.run/linuxserver/qemu-static --reset

然后使用对应架构的 Dockerfile(如 -f Dockerfile.aarch64)。

版本历史

  • 13.07.25:修复自动重载功能
  • 16.06.25:基于 Alpine 3.22 构建,PHP 8.4,新增自动重载功能,移除不再维护的 mcrypt PHP 扩展
  • 17.12.24:基于 Alpine 3.21 构建
  • 31.05.24:基于 Alpine 3.20 构建,现有用户需更新 Nginx 配置以避免 http2 弃用警告
  • 05.03.24:基于 Alpine 3.19 构建,PHP 8.3
  • 25.05.23:基于 Alpine 3.18 构建,移除 armhf 架构支持
  • 16.01.23:移除 nchan 模块(频繁导致崩溃)
  • 22.12.22:基于 Alpine 3.17 构建,PHP 8.1,迁移至 s6v3
  • 20.08.22:基于 Alpine 3.15 构建,PHP 8.0,重构 Nginx 配置
  • 22.05.22:安装 Alpine 3.14 版本的 Nginx
  • 01.07.21:基于 Alpine 3.14 构建
  • 24.06.21:更新默认 Nginx 配置目录
  • 12.04.21:新增 php7-gmp 和 php7-pecl-mailparse
  • 13.02.21:移除 php7-pecl-imagick(可通过 docker mod 安装)
  • 09.02.21:基于 Alpine 3.13 构建,新增 nginx brotli 和 dav-ext 模块,移除 lua 相关模块
  • 08.09.20:新增 php7-xsl
  • 01.06.20:基于 Alpine 3.12 构建
  • 18.04.20:修复容器意外关闭问题
  • 11.03.20:新增 php7-sodium
  • 18.02.20:新增 geoip2,抑制 lua 警告
  • 19.12.19:基于 Alpine 3.11 构建
  • 18.12.19:新增 php7-imap 和 php7-pecl-apcu
  • 13.11.19:新增 php7-pdo_odbc
  • 24.10.19:新增 php7-pecl-imagick
  • 06.08.19:新增 php7-bcmath、ph7-pear、php7-xmlrpc、php7-ftp
  • 02.08.19:新增 php7-ldap
  • 28.06.19:基于 Alpine 3.10 构建
  • 08.05.19:Nginx 升级时移除 default.conf
  • 30.04.19:新增 php-redis
  • 23.03.19:切换至新基础镜像,使用 arm32v7 标签
  • 02.03.19:新增 php intl 和 posix 模块
  • 28.02.19:新增 php7-opcache,移除 memcached 服务(aarch64 兼容性问题)
  • 22.02.19:基于 Alpine 3.9 构建
  • 18.11.18:构建时尝试升级软件包
  • 28.09.18:多架构镜像支持
  • 17.08.18:基于 Alpine 3.8 构建,继承 nginx 基础镜像的 nginx.conf
  • 11.05.18:新增 php pgsql 支持
  • 19.04.18:memcached 绑定 localhost,新增 php7-sqlite3
  • 05.01.18:基于 Alpine 3.7 构建
  • 08.11.17:新增 php7 soap 模块
  • 31.10.17:新增 php7 exif 和 xmlreader 模块
  • 30.09.17:复制额外根文件到镜像
  • 24.09.17:新增 memcached 服务
  • 31.08.17:新增 php7-phar
  • 14.07.17:在 nginx.conf 中动态启用模块
  • 22.06.17:新增多种 nginx 模块并在默认配置中启用
  • 05.06.17:新增 php7-bz2
  • 25.05.17:基于 Alpine 3.6 构建
  • 18.04.17:新增 php7-sockets
  • 27.02.17:基于 Alpine 3.5 构建,Nginx 1.10.2,PHP 7
  • 14.10.16:添加版本层信息
  • 10.09.16:添加 README 徽章
  • 05.12.15:初始发布

更多相关 Docker 镜像与资源

以下是 linuxserver/nginx 相关的常用 Docker 镜像,适用于 反向代理、负载均衡、静态资源服务 等不同场景:

  • library/nginx Docker 镜像说明
  • ilios/nginx Docker 镜像说明(Nginx Web 服务器,轻量高效)
  • ubuntu/nginx Docker 镜像说明(Nginx Web 服务器,基于 Ubuntu,适合生产环境)
  • bitnami/nginx Docker 镜像说明(Nginx Web 服务器,Bitnami 企业级配置,适合生产环境)
  • arm64v8/nginx Docker 镜像说明(arm64v8 架构 Nginx 官方镜像,适合 ARM64 服务器与树莓派类设备的 Web 服务)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面

轩辕镜像加速拉取命令点我查看更多 nginx 镜像标签

docker pull docker.xuanyuan.run/linuxserver/nginx:<标签>

DockerHub 原生拉取命令

docker pull linuxserver/nginx:<标签>

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载在线技术支持99.95% SLA 保障付费会员免广告