LinuxServer.io提供的Nginx容器,用于部署Web服务器、实现反向代理及HTTP缓存等基础Web服务。
收藏数: 236
下载次数: 71198448
类型:
linuxserver/nginxlinuxserver/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(临时文件系统)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
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
该镜像为静态版本,需通过更新镜像并重建容器来升级应用。
更新镜像:
bash# 更新所有镜像 docker-compose pull # 仅更新 nginx 镜像 docker-compose pull nginx
更新容器:
bash# 更新所有容器 docker-compose up -d # 仅更新 nginx 容器 docker-compose up -d nginx
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/nginx:latest
停止并删除旧容器:
bashdocker stop nginx docker rm nginx
重建容器:使用原 docker run 参数重建,/config 目录持久化确保配置保留
清理旧镜像:
bashdocker image prune
推荐使用 Diun 监控镜像更新,不建议使用自动更新容器的工具。
如需自定义镜像,可本地构建:
bashgit clone [***] 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 镜像,适用于 反向代理、负载均衡、静态资源服务 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。



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