本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像基于***PostgreSQL数据库镜像构建,预安装并配置了PostGIS(空间数据库扩展)和pgRouting(路径规划扩展)。PostGIS提供空间数据存储、索引及分析能力,pgRouting则扩展了路径计算功能,适用于需要空间数据处理和路径分析的应用场景,无需手动安装配置扩展组件。
docker run -d \ --name postgis-pgrouting \ -e POSTGRES_PASSWORD=your_secure_password \ -e POSTGRES_USER=dbuser \ -e POSTGRES_DB=gisdb \ -p 5432:5432 \ -v postgres_data:/var/lib/postgresql/data \ [镜像名称]
参数说明:
-e POSTGRES_PASSWORD:数据库超级用户密码(必填)-e POSTGRES_USER:自定义数据库用户名(默认postgres)-e POSTGRES_DB:初始数据库名称(默认与用户名相同)-p 5432:5432:端口映射,主机端口:容器端口-v postgres_data:/var/lib/postgresql/data:数据卷挂载,持久化存储数据库文件[镜像名称]:实际使用的镜像标识(如postgis/postgis:latest-pgrouting)进入容器终端:
docker exec -it postgis-pgrouting bash
连接数据库:
psql -U dbuser -d gisdb
检查扩展版本:
-- 验证PostGIS安装 SELECT postgis_version(); -- 验证pgRouting安装 SELECT pgr_version();
version: '3.8' services: postgis-db: image: [镜像名称] container_name: postgis-pgrouting environment: POSTGRES_PASSWORD: your_secure_password POSTGRES_USER: dbuser POSTGRES_DB: gisdb POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C" ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data - ./init-scripts:/docker-entrypoint-initdb.d # 挂载初始化脚本 restart: unless-stopped volumes: postgres_data:
启动服务:
docker-compose up -d
| 环境变量 | 说明 | 默认值 |
|---|---|---|
POSTGRES_PASSWORD | 数据库超级用户密码 | 无(必填) |
POSTGRES_USER | 数据库用户名 | postgres |
POSTGRES_DB | 初始数据库名称 | 与POSTGRES_USER相同 |
POSTGRES_INITDB_ARGS | 数据库初始化参数 | 无 |
PGDATA | 数据库数据存储路径 | /var/lib/postgresql/data |
-- 创建道路网络表 CREATE TABLE road_network ( id SERIAL PRIMARY KEY, name VARCHAR(100), geometry LineString, -- 空间几何列 length FLOAT, -- 路段长度(公里) speed_limit INT -- 限速(公里/小时) ); -- 添加空间索引(优化查询性能) CREATE INDEX road_network_geom_idx ON road_network USING GIST (geometry);
-- 插入示例道路数据(WKT格式,EPSG:4326坐标系统) INSERT INTO road_network (name, geometry, length, speed_limit) VALUES ('主干道A', ST_GeomFromText('LINESTRING(116.397 39.908, 116.407 39.908, 116.417 39.908)', 4326), 2.2, 60), ('次干道B', ST_GeomFromText('LINESTRING(116.407 39.908, 116.407 39.918, 116.407 39.928)', 4326), 2.1, 40);
-- 1. 创建网络拓扑(需先执行一次) SELECT pgr_createTopology( 'road_network', -- 表名 0.0001, -- 容差(度,用于节点匹配) 'geometry', -- 几何列名 'id' -- 主键列名 ); -- 2. 计算最短路径(基于长度) SELECT seq, node, edge, cost, agg_cost, ST_AsText(geometry) AS path_geometry FROM pgr_dijkstra( 'SELECT id, source, target, length AS cost FROM road_network', -- 边表查询 1, -- 起点节点ID 5, -- 终点节点ID false -- 是否返回路径几何 ) AS route JOIN road_network ON route.edge = road_network.id;
-v参数)挂载数据目录,避免容器删除导致数据丢失shared_buffers、work_mem)并合理创建空间索引postgis/postgis:15-3.4-pgrouting-3.5)以确保扩展版本兼容性

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429