
本镜像基于https://hub.docker.com/_/nginx%E6%89%A9%E5%B1%95%EF%BC%8C%E6%94%AF%E6%8C%81%60stable-alpine%60%E5%92%8C%60mainline-alpine%60%E6%A0%87%E7%AD%BE%E3%80%82%E7%94%B1MobiDev%E7%BB%B4%E6%8A%A4%EF%BC%8C%E6%94%AF%E6%8C%81%60linux/amd64%60%E5%92%8C%60linux/arm64%60%E6%9E%B6%E6%9E%84%E3%80%82
该镜像在官方Nginx基础上增强了功能,适用于需要快速部署、灵活配置的Nginx服务场景,尤其适合需要额外模块支持或预定义配置模板的应用。
包含官方Nginx镜像未提供的额外模块:
查看所有可用模块:
bashdocker run --rm mobidevpublisher/nginx:stable ls /etc/nginx/modules
提供多种常见场景的预定义配置模板,简化Nginx配置流程。
查看所有可用预定义模板:
bashdocker run --rm mobidevpublisher/nginx:stable ls /etc/nginx/predefined_templates
查看模板内容(以Symfony框架模板为例):
bashdocker run --rm mobidevpublisher/nginx:stable cat /etc/nginx/predefined_templates/symfony.conf.template
默认情况下,镜像会读取/etc/nginx/predefined_templates/*.template中的所有模板文件,并将处理结果输出到/etc/nginx/conf.d。用户可通过挂载自定义*.conf.template文件覆盖或扩展配置,无需依赖预定义模板。
直接运行容器并指定环境变量配置:
bashdocker run --rm -v "${PWD}:/var/www/html" \ -e NGINX_PORT=8085 \ -e NGINX_SERVER_NAME=localhost \ -e NGINX_ROOT=/var/www/html \ -e NGINX_PREDEFINED_TEMPLATE=default.conf.template \ -p 8085:8085 mobidevpublisher/nginx:stable
访问 http://localhost:8085 验证服务。
Symfony框架(Nginx+PHP)配置
yamlversion: '3.5' services: nginx: env_file: - .env image: mobidevpublisher/nginx:stable environment: NGINX_PREDEFINED_TEMPLATE: "symfony.conf.template" NGINX_SERVER_NAME: "localhost" NGINX_PORT: 8085 NGINX_ROOT: /var/www/app/public PHP_HOST: php PHP_PORT: 9000 working_dir: /var/www/app volumes: - ".:/var/www/app" networks: - local depends_on: - php ports: - "8085:8085" expose: - "8085" php: env_file: - .env working_dir: /var/www/app image: mobidevpublisher/php:7.4.33 environment: PHP_ENABLED_EXTENSIONS: "amqp apcu opcache xdebug mcrypt sodium redis zip pdo_pgsql gd gmp" PHP_ALLOW_URL_FOPEN: "On" PHP_MAX_EXECUTION_TIME: 60 PHP_MAX_INPUT_TIME: 60 PHP_MEMORY_LIMIT: "128M" PHP_POST_MAX_SIZE: "120M" PHP_UPLOAD_MAX_FILESIZE: "100M" PHP_SHORT_OPEN_TAG: "On" PHP_DISPLAY_ERRORS: "On" PHP_DISPLAY_STARTUP_ERRORS: "On" volumes: - ".:/var/www/app" networks: - local networks: local: name: local
Nchan消息系统配置
yamlversion: '3.5' services: nchan: image: mobidevpublisher/nginx:stable restart: on-failure environment: NGINX_PREDEFINED_TEMPLATE: "nchan.conf.template" NGINX_SERVER_NAME: localhost NGINX_PORT: 8088 NCHAN_SUBSCRIBER_ENDPOINT: "/sub" NCHAN_PUBLISHER_ENDPOINT: "/pub" networks: - local ports: - 8088:8088 networks: local: name: local
创建自定义Dockerfile扩展镜像:
dockerfileFROM mobidevpublisher/nginx:1.24 COPY ./nginx_configs/ /etc/nginx COPY ./html/ /var/www/html WORKDIR /var/www/html
构建并运行:
bashdocker build -t my-nginx . docker run -it --rm --name my-running-nginx my-nginx
预定义SSL模板
查看所有SSL相关预定义模板:
bashdocker run --rm mobidevpublisher/nginx:stable ls /etc/nginx/predefined_templates/ | grep ssl_
生成DH参数
增强SSL加密强度,生成dhparam.pem文件:
bashopenssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048
Let's Encrypt SSL证书配置
bashdocker volume create --name=letsencrypt-etc docker run -it --rm -v letsencrypt-etc:/etc/letsencrypt \ -p 80:80 \ certbot/certbot \ certonly \ --standalone \ -n -m youremail@example.com \ --agree-tos \ -d example.com
(建议添加到crontab定期更新证书)
yamlversion: '3.5' services: nginx: image: mobidevpublisher/nginx:stable environment: NGINX_PREDEFINED_TEMPLATE: "ssl_static.conf.template" NGINX_SERVER_NAME: "example.com" NGINX_PORT: 80 NGINX_ROOT: /var/www/html NGINX_SSL_PORT: "443 ssl http2" PATH_TO_SSL_CERTIFICATE_FILE: "/etc/letsencrypt/live/example.com/fullchain.pem" PATH_TO_SSL_CERTIFICATE_KEY_FILE: "/etc/letsencrypt/live/example.com/privkey.pem" PATH_TO_SSL_DHPARAM_FILE: "/etc/nginx/ssl/dhparam.pem" working_dir: /var/www/html volumes: - ".:/var/www/html" - "./dhparam.pem:/etc/nginx/ssl/dhparam.pem" - "letsencrypt:/etc/letsencrypt" networks: - local ports: - "80:80" - "443:443" expose: - "80" - "443" volumes: letsencrypt: external: name: letsencrypt-etc
可通过SSL Server Test验证SSL配置。
| 变量名 | 说明 | 示例值 | 是否必需 |
|---|---|---|---|
| NGINX_PREDEFINED_TEMPLATE | 指定使用的预定义模板文件 | "symfony.conf.template" | 是 |
| NGINX_PORT | Nginx监听端口 | 8085 | 是 |
| NGINX_ROOT | 网站根目录路径 | /var/www/html | 是 |
| NGINX_SERVER_NAME | 服务器名称(域名) | "example.com" | 是 |
| PHP_HOST | PHP上游服务主机名 | php | PHP模板必需 |
| PHP_PORT | PHP上游服务端口 | 9000 | PHP模板必需 |
| NGINX_BASIC_AUTH_USER | 基础认证用户名 | "username" | 基础认证时可选 |
| NGINX_BASIC_AUTH_PASSWORD | 基础认证密码 | "your$ecretpassword" | 基础认证时可选 |
| NGINX_BASIC_AUTH_FILE | 基础认证文件路径 | "/etc/nginx/.htpasswd-users" | 基础认证时可选 |
代理模板(如proxy.conf.template)
| 变量名 | 说明 | 示例值 |
|---|---|---|
| NGINX_PROXY_PASS_URL | 代理目标URL | "[***]" |
重定向模板(如redirect.conf.template)
| 变量名 | 说明 | 示例值 |
|---|---|---|
| NGINX_REDIRECT_CODE | 重定向状态码 | 307 |
| NGINX_REDIRECT_DOMAIN | 重定向目标域名 | example.com |
| 变量名 | 说明 | 示例值 |
|---|---|---|
| NGINX_SSL_PORT | SSL监听端口配置 | "443 ssl http2" |
| PATH_TO_SSL_CERTIFICATE_FILE | SSL证书文件路径 | "/etc/letsencrypt/live/example.com/fullchain.pem" |
| PATH_TO_SSL_CERTIFICATE_KEY_FILE | SSL证书密钥文件路径 | "/etc/letsencrypt/live/example.com/privkey.pem" |
| PATH_TO_SSL_DHPARAM_FILE | DH参数文件路径 | "/etc/nginx/ssl/dhparam.pem" |
镜像标签格式:mobidevpublisher/nginx:<version>,支持以下标签:
mainline:主线版本(基于官方mainline-alpine)stable:稳定版本(基于官方stable-alpine)1.24.0拉取示例:
bashdocker pull mobidevpublisher/nginx:mainline docker pull mobidevpublisher/nginx:stable docker pull mobidevpublisher/nginx:1.24.0
所有标签可在https://hub.docker.com/r/mobidevpublisher/nginx/tags%E6%9F%A5%E7%9C%8B%E3%80%82
MIT许可证
版权所有 (c) 2009-2023 MobiDev Corporation ***
特此免费授予获得本软件及相关文档文件(“软件”)副本的任何人无限制地处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件的副本,并允许向其提供软件的人这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的担保,包括但不限于对适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因软件或软件的使用或其他交易而引起的任何索赔、损害或其他责任承担责任,无论是合同诉讼、侵权行为还是其他形式的诉讼。
以下是 mobidevpublisher/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 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务