本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
注意: 这是 geonetwork 官方镜像 的 arm64v8 架构专用仓库。更多信息请参见官方镜像文档中的 "除 amd64 外的架构?" 和官方镜像 FAQ 中的 "Git 中镜像源已更改,该怎么办?"。
维护者:
GeoNetwork 开源项目
获取帮助:
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
3.12.12, 3.12, 3
3.12.12-postgres, 3.12-postgres, 3-postgres
4.2.14, 4.2
4.4.9, 4.4, 4, latest
提交 issue 地址:
[***]
支持的架构:(更多信息)
amd64、arm32v7、arm64v8、ppc64le
镜像制品详情:
repo-info 仓库的 repos/geonetwork/ 目录(历史记录)
(包含镜像元数据、传输大小等)
镜像更新:
official-images 仓库的 library/geonetwork 标签
official-images 仓库的 library/geonetwork 文件(历史记录)
本文档来源:
docs 仓库的 geonetwork/ 目录(历史记录)
GeoNetwork 是一个用于管理空间参考资源的目录应用。它提供强大的元数据编辑和搜索功能,以及交互式Web 地图查看器。
GeoNetwork 项目始于 2001 年,最初是联合国粮食及农业组织(FAO)、联合国世界粮食计划署(WFP)和联合国环境规划署(UNEP)的空间数据目录系统。目前,该项目被广泛用作全球空间数据基础设施(SDI) 的基础。
GeoNetwork 基于自由开源软件(FOSS)原则和国际开放标准(如 ISO/TC211、OGC)构建,采用现代化架构,兼具强大功能和低成本特性。该项目是开放地理空间基金会(OSGeo)的一部分,官方网站为 GeoNetwork opensource。
!logo
GeoNetwork 4 依赖 Elasticsearch 服务器存储文档索引,必须配置 Elasticsearch 服务器 URL 才能运行。
以下示例快速启动 GeoNetwork 4.4 最新版,适用于演示场景。此配置在容器删除后不会保留数据。
# 拉取 Elasticsearch 和 GeoNetwork 镜像 docker pull elasticsearch:7.17.15 docker pull arm64v8/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 arm64v8/geonetwork:4
GeoNetwork 4.2 稳定版示例:
docker pull elasticsearch:7.17.15 docker pull arm64v8/geonetwork:4.2 docker network create gn-network docker run -d --name my-es-host --network gn-network -e "discovery.type=single-node" elasticsearch:7.17.15 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 arm64v8/geonetwork:4.2
注意:Elasticsearch 版本需与 GeoNetwork 兼容,具体版本可参考 GeoNetwork 官方文档 或对应版本的
pom.xml文件中的es.version属性。
初始安装后,默认登录凭据为:用户名 admin,密码 admin。建议安装后立即更新默认密码。
从 GeoNetwork 4.4.0 开始,通过 GN_CONFIG_PROPERTIES 环境变量传递 Java 属性配置 Elasticsearch 连接:
| 参数 | 可选性 | 默认值 | 说明 |
|---|---|---|---|
es.host | 可选 | localhost | Elasticsearch 服务器主机名 |
es.port | 可选 | 9200 | Elasticsearch 服务器端口 |
es.protocol | 可选 | http | 连接协议,可选 http 或 https |
es.url | 非默认时必填 | http://localhost:9200 | Elasticsearch 完整 URL(当主机、端口或协议非默认时必须指定) |
es.index.records | 可选 | gn_records | 索引名称(多实例共享 Elasticsearch 集群时需指定不同名称) |
es.username | 可选 | 空 | 连接 Elasticsearch 的用户名 |
es.password | 可选 | 空 | 连接 Elasticsearch 的密码 |
kb.url | 可选 | http://localhost:5601 | Kibana 服务器 URL |
Docker Compose 配置示例:
services: geonetwork: image: arm64v8/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=[***]
4.4.0 之前的版本通过环境变量配置 Elasticsearch:
| 环境变量 | 可选性 | 默认值 | 说明 |
|---|---|---|---|
ES_HOST | 必填 | - | Elasticsearch 服务器主机名 |
ES_PORT | 可选 | 9200 | Elasticsearch 服务器端口 |
ES_PROTOCOL | 可选 | http | 连接协议,可选 http 或 https |
ES_INDEX_RECORDS | 可选 | gn_records | 索引名称(多实例共享集群时需指定不同名称) |
ES_USERNAME | 可选 | 空 | 连接用户名 |
ES_PASSWORD | 可选 | 空 | 连接密码 |
KB_URL | 可选 | http://localhost:5601 | Kibana 服务器 URL |
默认情况下,GeoNetwork 使用本地 H2 数据库(不推荐生产环境使用)。镜像包含 PostgreSQL 和 MySQL 的 JDBC 驱动,支持以下数据库配置:
| 环境变量 | 说明 |
|---|---|
GEONETWORK_DB_TYPE | 数据库类型,可选 postgres、postgres-postgis、mysql;扩展驱动可支持 db2、oracle、sqlserver 等 |
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 |
以下命令启动基于 Debian 的容器,运行 Tomcat(GN 3)或 Jetty(GN 4)Web 服务器,部署 GeoNetwork WAR 包:
docker run --name some-geonetwork -d arm64v8/geonetwork
GeoNetwork 监听容器内 8080 端口,需通过 -p 参数发布端口到主机:
# 将容器 8080 端口映射到主机 8080 端口 docker run --name some-geonetwork -d -p 8080:8080 arm64v8/geonetwork
启动后,若主机为 Linux,可通过 http://localhost:8080/geonetwork 访问 GeoNetwork。
数据目录用于存储自定义配置、上传文件、空间索引和缩略图等。H2 数据库文件默认位置:
/var/lib/jetty/gn.h2.db(Jetty 目录)/usr/local/tomcat/gn.h2.db(Tomcat 目录)可通过环境变量自定义:
| 环境变量 | 默认值 | 说明 |
|---|---|---|
DATA_DIR | /opt/geonetwork/WEB-INF/data | 数据目录路径(GN 4.4.0 之前版本) |
GEONETWORK_DB_NAME | gn | H2 数据库名称(3.10.3+ 支持,文件名为 {GEONETWORK_DB_NAME}.h2.db) |
GN 4.4.0+ 配置示例(通过 GN_CONFIG_PROPERTIES 设置数据目录):
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 \ arm64v8/geonetwork
通过挂载主机目录到容器,实现数据持久化(以 GN 4.4.0+ 为例):
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-docker:/catalogue-data \ arm64v8/geonetwork
其中 /host/geonetwork-docker 是主机上的持久化目录。
# GeoNetwork 完整部署配置 # 访问地址:http://localhost:8080/geonetwork # 默认用户:admin,密码:admin volumes: geonetwork: # GeoNetwork 数据卷 esdata: # Elasticsearch 数据卷 pgdata: # PostgreSQL 数据卷 pglog: # PostgreSQL 日志卷 services: geonetwork: image: arm64v8/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 # Web 应用上下文路径 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=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