esgfdeploy/nginx本镜像为ESGF(Earth System Grid Federation,地球系统网格联盟)部署场景设计,基于官方Nginx镜像优化构建,专门适配ESGF的Web服务架构。主要提供HTTP服务、反向代理、负载均衡及安全访问控制功能,满足ESGF数据分发、资源访问及多节点协同的需求。
通过docker run命令快速启动容器:
bashdocker run -d \ --name esgf-nginx \ -p 80:80 \ -p 443:443 \ -e ESGF_BACKEND_URL="[***]" \ -v /path/to/ssl/certs:/etc/nginx/ssl \ esgf/nginx:latest
创建docker-compose.yml文件,集成ESGF后端服务:
yamlversion: '3' services: esgf-nginx: image: esgf/nginx:latest ports: - "80:80" - "443:443" environment: - NGINX_PORT=80 - ESGF_BACKEND_URL="[***]" - SSL_ENABLED=true volumes: - ./nginx/conf.d:/etc/nginx/conf.d # 自定义配置文件 - ./ssl:/etc/nginx/ssl # SSL证书挂载 - ./logs:/var/log/nginx # 日志持久化 depends_on: - esgf-backend esgf-backend: image: esgf/backend-service:latest # ESGF后端服务示例
| 环境变量名 | 描述 | 默认值 | 必要性 |
|---|---|---|---|
NGINX_PORT | Nginx监听端口(HTTP) | 80 | 可选 |
ESGF_BACKEND_URL | ESGF后端服务地址(如数据节点、索引服务) | 无 | 必填 |
SSL_ENABLED | 是否启用SSL/TLS(HTTPS) | false | 可选 |
SSL_PORT | HTTPS监听端口 | 443 | 可选(启用SSL时有效) |
SSL_CERT_PATH | SSL证书文件路径 | /etc/nginx/ssl/cert.pem | 可选(启用SSL时有效) |
SSL_KEY_PATH | SSL私钥文件路径 | /etc/nginx/ssl/key.pem | 可选(启用SSL时有效) |
PROXY_BUFFER_SIZE | 反向代理缓冲区大小 | 16k | 可选 |
为避免容器重启后配置丢失,建议通过卷挂载持久化以下目录:
/etc/nginx/conf.d(存放自定义Nginx配置文件,覆盖默认配置)/var/log/nginx(Nginx访问日志和错误日志)/etc/nginx/ssl(存放SSL证书和私钥文件,启用HTTPS时需挂载)如需覆盖默认配置,可在宿主机创建自定义Nginx配置文件(如esgf-proxy.conf),并挂载至容器的/etc/nginx/conf.d/目录:
nginx# 示例:自定义反向代理配置(esgf-proxy.conf) server { listen ${NGINX_PORT}; server_name esgf-node.example.com; location / { proxy_pass ${ESGF_BACKEND_URL}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 启用SSL(如需) ${SSL_ENABLED:+ listen ${SSL_PORT} ssl; ssl_certificate ${SSL_CERT_PATH}; ssl_certificate_key ${SSL_KEY_PATH}; } }
将上述文件保存至宿主机./nginx/conf.d/目录,通过docker-compose挂载即可生效。
ESGF_BACKEND_URL指向正确的ESGF后端服务地址,否则反向代理功能无法正常工作SSL_CERT_PATH)和私钥文件(SSL_KEY_PATH)格式正确且权限配置合理(建议证书文件权限为644,私钥文件权限为600).conf后缀,Nginx会自动加载/etc/nginx/conf.d/目录下的所有.conf文件
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务