https://github.com/linuxserver/docker-nginx 是由 LinuxServer.io 团队提供的 Nginx 容器镜像。Nginx 是一款轻量级 Web 服务器,支持 PHP 功能,配置文件存放于 /config 目录,便于用户自定义修改。该镜像旨在提供稳定、易用的 Nginx 部署方案,适用于各类 Web 服务场景。
/config 目录,便于持久化和自定义该镜像通过 Docker 清单实现多平台支持,拉取 lscr.io/linuxserver/nginx:latest 即可自动匹配对应架构。也可通过标签指定特定架构:
| 架构 | 支持情况 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
/config/www 的目录中/config 目录下,可直接修改并持久化到宿主机支持以只读文件系统模式运行容器,需注意:
/tmp 挂载为 tmpfs(临时文件系统)Docker Compose(推荐)
yaml--- services: nginx: image: lscr.io/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
bashdocker 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:80 | HTTP 端口映射(宿主机:容器) |
-p 443:443 | HTTPS 端口映射(宿主机:容器) |
-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) |
支持通过 FILE__ 前缀从文件加载环境变量,例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
上述命令会将 /run/secrets/mysecretvariable 文件内容作为 MYVAR 环境变量的值。
可通过 -e UMASK=022 覆盖容器内服务的默认 umask 设置。注意:umask 是权限掩码,通过减法而非加法调整权限,详情参考 umask 说明。
使用卷挂载(-v)时,宿主机与容器可能出现权限冲突。通过指定 PUID(用户ID)和 PGID(组ID),确保宿主机卷目录与容器内用户权限一致。获取当前用户的 PUID/PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
该镜像支持通过 Docker Mods 扩展功能,可查看 专用 Mods 或 通用 Mods 获取更多信息。
容器内命令行访问:
bashdocker exec -it nginx /bin/bash
实时日志监控:
bashdocker logs -f nginx
查看容器版本:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' nginx
查看镜像版本:
bashdocker 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
清理旧镜像:
bashdocker image prune
通过 Docker Run 更新
更新镜像:
bashdocker pull lscr.io/linuxserver/nginx:latest
停止并删除旧容器:
bashdocker stop nginx docker rm nginx
重建容器:使用原 docker run 参数重建,/config 目录持久化确保配置保留
清理旧镜像:
bashdocker image prune
镜像更新通知工具
推荐使用 Diun 监控镜像更新,不建议使用自动更新容器的工具。
如需自定义镜像,可本地构建:
bashgit 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:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
然后使用对应架构的 Dockerfile(如 -f Dockerfile.aarch64)。
以下是 linuxserver/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 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务