本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意:本镜像为geonetwork官方镜像的arm32v7架构专用构建版本。有关多架构镜像的更多信息,参见官方镜像文档中的“非amd64架构”说明及官方镜像FAQ中的“镜像源码变更后如何处理”。
GeoNetwork是一个自由开源(FOSS)的空间参考资源目录系统,用于管理空间数据资源。它提供强大的元数据编辑、高级搜索功能及交互式Web地图查看器,基于开放标准(如ISO/TC211、OGC)构建,适用于构建空间数据基础设施(SDI)。该项目最初为联合国粮农组织(FAO)、世界粮食计划署(WFP)和环境规划署(UNEP)开发,目前已在全球范围内广泛应用。
3.12.12, 3.12, 33.12.12-postgres, 3.12-postgres, 3-postgresamd64:amd64/geonetworkarm32v7:arm32v7/geonetwork(本镜像)arm64v8:arm64v8/geonetworkppc64le:ppc64le/geonetwork初始安装后,默认管理员账号:
adminadmin# 拉取Elasticsearch和GeoNetwork镜像 docker pull elasticsearch:7.17.15 docker pull arm32v7/geonetwork:4 # 创建网络 docker network create gn-network # 启动Elasticsearch(单节点模式) docker run -d --name my-es-host --network gn-network -e "discovery.type=single-node" elasticsearch:7.17.15 # 启动GeoNetwork,配置Elasticsearch连接 docker run --name geonetwork-host --network gn-network \ -e GN_CONFIG_PROPERTIES="-Des.host=my-es-host -Des.protocol=http -Des.port=9200 -Des.url=[***]" \ -p 8080:8080 \ arm32v7/geonetwork:4
# 拉取镜像 docker pull elasticsearch:7.17.15 docker pull arm32v7/geonetwork:4.2 # 创建网络 docker network create gn-network # 启动Elasticsearch docker run -d --name my-es-host --network gn-network -e "discovery.type=single-node" elasticsearch:7.17.15 # 启动GeoNetwork(环境变量配置Elasticsearch) docker run --name geonetwork-host --network gn-network \ -e ES_HOST=my-es-host -e ES_PROTOCOL=http -e ES_PORT=9200 \ -p 8080:8080 \ arm32v7/geonetwork:4.2
Elasticsearch版本说明:需根据GeoNetwork版本选择兼容的Elasticsearch。可参考GeoNetwork官方文档或对应版本的
pom.xml中es.version属性。
GeoNetwork默认监听容器内8080端口,需通过-p参数映射到主机端口:
docker run --name some-geonetwork -d -p 8080:8080 arm32v7/geonetwork
启动后可通过 http://localhost:8080/geonetwork 访问(Linux环境)。
通过GN_CONFIG_PROPERTIES环境变量传递Java属性,配置Elasticsearch连接:
| 参数 | 说明 | 默认值 |
|---|---|---|
-Des.host | Elasticsearch主机名 | localhost |
-Des.port | Elasticsearch端口 | 9200 |
-Des.protocol | 协议(http或https) | http |
-Des.url | Elasticsearch完整URL(当主机/端口/协议非默认时必填) | http://localhost:9200 |
-Des.index.records | 索引名称(多实例共享ES集群时需唯一) | gn_records |
-Des.username | ES认证用户名(如启用安全认证) | 空 |
-Des.password | ES认证密码 | 空 |
-Dkb.url | Kibana URL | http://localhost:5601 |
示例(Docker Compose片段):
services: geonetwork: image: arm32v7/geonetwork:4.4 environment: GN_CONFIG_PROPERTIES: >- -Des.host=elasticsearch -Des.protocol=http -Des.port=9200 -Des.url=[***] -Des.username=my_es_username -Des.password=my_es_password -Dkb.url=[***]
通过环境变量直接配置Elasticsearch:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
ES_HOST | Elasticsearch主机名(必填) | - |
ES_PORT | Elasticsearch端口 | 9200 |
ES_PROTOCOL | 协议(http或https) | http |
ES_INDEX_RECORDS | 索引名称 | gn_records |
ES_USERNAME | ES认证用户名 | 空 |
ES_PASSWORD | ES认证密码 | 空 |
KB_URL | Kibana URL | http://localhost:5601 |
默认使用H2数据库(仅适用于演示,不建议生产环境)。支持PostgreSQL/PostGIS、MySQL等,需通过以下环境变量配置:
| 环境变量 | 说明 |
|---|---|
GEONETWORK_DB_TYPE | 数据库类型:postgres、postgres-postgis、mysql(其他类型需扩展镜像添加驱动) |
GEONETWORK_DB_HOST | 数据库主机名 |
GEONETWORK_DB_PORT | 数据库端口 |
GEONETWORK_DB_NAME | 数据库名称 |
GEONETWORK_DB_USERNAME | 数据库用户名 |
GEONETWORK_DB_PASSWORD | 数据库密码 |
GEONETWORK_DB_CONNECTION_PROPERTIES | 连接字符串附加参数(如search_path=test,public&ssl=true) |
GeoNetwork的数据目录(存储配置、上传文件等)和H2数据库文件默认位于容器内,需挂载到主机目录以持久化数据。
通过GN_CONFIG_PROPERTIES配置数据目录,GEONETWORK_DB_NAME配置H2数据库路径:
docker run --name some-geonetwork -d \ -p 8080:8080 \ -e GN_CONFIG_PROPERTIES="-Dgeonetwork.dir=/catalogue-data" \ -e GEONETWORK_DB_NAME=/catalogue-data/db/gn \ -v /host/geonetwork-data:/catalogue-data \ # 主机目录挂载 arm32v7/geonetwork:4
通过环境变量DATA_DIR和GEONETWORK_DB_NAME配置:
docker run --name some-geonetwork -d \ -p 8080:8080 \ -e DATA_DIR=/catalogue-data/data \ -e GEONETWORK_DB_NAME=/catalogue-data/db/gn \ -v /host/geonetwork-data:/catalogue-data \ arm32v7/geonetwork:4.2
以下配置包含GeoNetwork、PostgreSQL/PostGIS、Elasticsearch和Kibana,适用于生产环境:
# 访问地址:http://localhost:8080/geonetwork # 默认账号:admin/admin volumes: geonetwork: # GeoNetwork数据卷 esdata: # Elasticsearch数据卷 pgdata: # PostgreSQL数据卷 pglog: # PostgreSQL日志卷 services: geonetwork: image: arm32v7/geonetwork:4.4 healthcheck: test: curl http://localhost:8080/ interval: 5s timeout: 5s retries: 30 restart: always volumes: - geonetwork:/catalogue-data depends_on: database: condition: service_healthy ports: - 8080:8080 environment: WEBAPP_CONTEXT_PATH: /geonetwork DATA_DIR: /catalogue-data TZ: Europe/Amsterdam # JVM参数配置 JAVA_OPTS: >- --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xms512M -Xss512M -Xmx2G -XX:+UseConcMarkSweepGC -Djetty.httpConfig.requestHeaderSize=32768 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=500000 -Dorg.eclipse.jetty.server.Request.maxFormKeys=4000 # GeoNetwork配置(Java属性) GN_CONFIG_PROPERTIES: >- -Dgeonetwork.dir=/catalogue-data -Dgeonetwork.formatter.dir=/catalogue-data/data/formatter -Dgeonetwork.schema.dir=/opt/geonetwork/WEB-INF/data/config/schema_plugins -Dgeonetwork.indexConfig.dir=/opt/geonetwork/WEB-INF/data/config/index -Dgeonetwork.schemapublication.dir=/opt/geonetwork/WEB-INF/data/resources/schemapublication -Dgeonetwork.htmlcache.dir=/opt/geonetwork/WEB-INF/data/resources/htmlcache -Des.host=elasticsearch -Des.protocol=http -Des.port=9200 -Des.url=[***] -Des.username= -Des.password= -Dgeonetwork.ESFeaturesProxy.targetUri=[***]{_} -Dgeonetwork.HttpDashboardProxy.targetUri=[***] # PostgreSQL数据库配置 GEONETWORK_DB_TYPE: postgres-postgis GEONETWORK_DB_HOST: database GEONETWORK_DB_PORT: 5432 GEONETWORK_DB_NAME: geonetwork GEONETWORK_DB_USERNAME: geonetwork GEONETWORK_DB_PASSWORD: geonetwork database: image: postgis/postgis:16-3.4 environment: POSTGRES_USER: geonetwork POSTGRES_PASSWORD: geonetwork POSTGRES_DB: geonetwork command: [postgres, -c, log_statement=all, -c, logging_collector=true, -c, log_file_mode=0644, -c, log_directory=/var/log/postgresql, -c, log_filename=postgresql.log] healthcheck: test: [CMD-SHELL, pg_isready -U postgres] interval: 5s timeout: 5s retries: 5 volumes: - pgdata:/var/lib/postgresql/data - pglog:/var/log/postgresql elasticsearch: image: elasticsearch:7.17.15 ports: - 9200:9200 ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 healthcheck: test: curl -s http://localhost:9200 >/dev/null || exit 1 interval: 10s timeout: 2s retries: 10 start_period: 2m environment: ES_JAVA_OPTS: -Xms1G -Xmx1G discovery.type: single-node volumes: - esdata:/usr/share/elasticsearch/data kibana: image
免费版仅支持 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