pcic/climate-explorer-backendPCIC Climate Explorer Backend是太平洋气候影响联盟(PCIC)气候探索器的后端服务组件,基于Flask框架开发。主要用于处理气候数据相关的API请求,支持与PostgreSQL等数据库交互,提供数据查询、处理和集成功能,适用于气候数据研究、后端服务开发及多环境部署场景。
bash$ sudo apt-get install libpq-dev python-dev libhdf5-dev libnetcdf-dev libgdal-dev
GDAL在安装Python包时无法正确获取库路径,需手动定义以下环境变量:
bash$ export CPLUS_INCLUDE_PATH=/usr/include/gdal $ export C_INCLUDE_PATH=/usr/include/gdal
使用Python 3的venv模块(不建议使用virtualenv,因其默认安装Python 2)。单元测试依赖datetime.timezone,该特性仅Python 3支持。
bash$ python3 -m venv venv $ source venv/bin/activate (venv)$ pip install -U pip (venv)$ pip install -i [***] -r requirements.txt (venv)$ pip install -e .
可通过Flask命令行工具启动本地开发服务器(详见Flask CLI文档)。需设置环境变量FLASK_APP=ce.wsgi:app,可选设置FLASK_DEBUG=1启用代码热重载。
数据库连接串通过MDDB_DSN环境变量配置,默认值为postgresql://***/pcic_meta。
bash(venv)$ MDDB_DSN=postgresql://dbuser:dbpass@dbhost/dbname FLASK_APP=ce.wsgi:app flask run -p <端口号>
bashpip install pytest py.test -v
bashsudo docker run --rm -it -v ${PWD}:/app --name backend-test pcic/climate-explorer-backend bash -c "pip install pytest; py.test -v ce/tests"
bashsudo docker run --rm -it --name backend-test pcic/climate-explorer-backend bash -c "apt-get update; apt-get install -yq git; git fetch; git checkout <commit-ish>; pip install pytest; py.test -v ce/tests"
bashgit clone [***] cd climate-explorer-backend docker build -t climate-explorer-backend-image .
建议创建独立的只读数据容器,供多个后端实例共享。可通过多个-v参数挂载不同位置的数据,确保文件路径与元数据库中定义一致。
bashdocker run --name ce_data -v /绝对路径/至/数据目录:/storage/data/:ro ubuntu 16.04
bashdocker run -it -p <外部端口>:8000 \ -e "MDDB_DSN=postgresql://dbuser:dbpassword@host/databasename" \ --volumes-from ce_data \ --name climate-explorer-backend \ climate-explorer-backend-image
说明:
-v /绝对路径/至/数据目录:/storage/data/替换--volumes-from ce_data-e "MDDB_DSN=sqlite:////app/ce/tests/data/test.sqlite"创建版本化发布需执行以下步骤:
setup.py中更新__version__版本号NEWS.md中总结自上次发布后的变更bashgit add setup.py NEWS.md git commit -m"Bump to version x.x.x" git tag -a -m"x.x.x" x.x.x git push --follow-tags
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务