如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
注意:这是https://hub.docker.com/_/geonetwork%E7%9A%84%60ppc64le%60%E6%9E%B6%E6%9E%84%E6%9E%84%E5%BB%BA%E7%9A%84%22%E6%AF%8F%E6%9E%B6%E6%9E%84%22%E4%BB%93%E5%BA%93%E2%80%94%E2%80%94%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E6%96%87%E6%A1%A3%E4%B8%AD%E7%9A%84https://github.com/docker-library/official-images#architectures-other-than-amd64%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8FFAQ%E4%B8%AD%E7%9A%84https://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E3%80%82
维护者:
https://github.com/geonetwork/docker-geonetwork
获取帮助:
Docker社区Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile链接https://github.com/geonetwork/docker-geonetwork/blob/***beab34080c90454c0b7059bd6b49701f979/3.12.12/Dockerfile
https://github.com/geonetwork/docker-geonetwork/blob/***beab34080c90454c0b7059bd6b49701f979/3.12.12/postgres/Dockerfile
问题反馈地址:
https://github.com/geonetwork/docker-geonetwork/issues?q=
支持的架构:(https://github.com/docker-library/official-images#architectures-other-than-amd64)
https://hub.docker.com/r/amd64/geonetwork/%E3%80%81https://hub.docker.com/r/arm32v7/geonetwork/%E3%80%81https://hub.docker.com/r/arm64v8/geonetwork/%E3%80%81https://hub.docker.com/r/ppc64le/geonetwork/
镜像 artifact 详情:
https://github.com/docker-library/repo-info/blob/master/repos/geonetwork%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/geonetwork%EF%BC%89
(镜像元数据、传输大小等)
镜像更新:
https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fgeonetwork
https://github.com/docker-library/official-images/blob/master/library/geonetwork%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/geonetwork%EF%BC%89
本描述的来源:
https://github.com/docker-library/docs/tree/master/geonetwork%EF%BC%88https://github.com/docker-library/docs/commits/master/geonetwork%EF%BC%89
GeoNetwork 是一个用于管理空间参考资源的目录应用。它提供强大的元数据编辑和搜索功能,以及交互式Web地图查看器。
GeoNetwork 项目始于2001年,最初是联合国粮食及农业组织(FAO)、联合国世界粮食计划署(WFP)和联合国环境规划署(UNEP)的空间数据目录系统。
目前,该项目被广泛用作全球空间数据基础设施的基础。
GeoNetwork 旨在使用现代架构连接空间信息社区及其数据,该架构功能强大且成本低廉,基于自由开源软件(FOSS)原则以及服务和协议的国际开放标准(例如:ISO/TC211、OGC)。
该项目是开放地理空间基金会(OSGeo)的一部分,可在GeoNetwork opensource获取。GeoNetwork 旨在使用现代架构连接空间信息社区及其数据,该架构同时具备强大功能和低成本特性。
!https://raw.githubusercontent.com/docker-library/docs/6a537ddd2def65eaaa31cbadbaa5303f2dc82fe3/geonetwork/logo.png
GeoNetwork 4 使用 Elasticsearch 服务器存储其管理的文档索引,因此必须配置 Elasticsearch 服务器的 URL 才能运行。
以下是快速示例,展示如何启动 GeoNetwork 4.4 最新版用于演示目的。此配置在容器被移除时不会保留数据。
consoledocker pull elasticsearch:7.17.15 docker pull ppc64le/geonetwork:4 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 GN_CONFIG_PROPERTIES="-Des.host=my-es-host -Des.protocol=http -Des.port=9200 -Des.url=http://my-es-host:9200" -p 8080:8080 ppc64le/geonetwork:4
对于 GeoNetwork 4.2 稳定版:
consoledocker pull elasticsearch:7.17.15 docker pull ppc64le/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 ppc64le/geonetwork:4.2
要确定使用哪个 Elasticsearch 版本,可查看对应 GN 版本的GeoNetwork 文档,或所用 GeoNetwork 版本的https://github.com/geonetwork/core-geonetwork/blob/main/pom.xml#L1528C17-L1528C24%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%60es.version%60%E5%B1%9E%E6%80%A7%E3%80%82
安装后,使用默认凭据:admin(用户名)和**admin**(密码)。建议安装后更新默认密码。
Java 属性(4.4.0 及更高版本)
从 GeoNetwork 4.4.0 开始,使用GN_CONFIG_PROPERTIES环境变量中传递的 Java 属性配置 Elasticsearch 连接:
es.host:可选(默认localhost):Elasticsearch 服务器的主机名。es.port:可选(默认9200):Elasticsearch 服务器监听的端口。es.protocol:可选(默认http):用于与 Elasticsearch 通信的协议,可为http或https。es.url:当主机、端口或协议非默认值时必填(默认http://localhost:9200):Elasticsearch 服务器的完整 URL。es.index.records:可选(默认gn_records):如果多个 GeoNetwork 实例使用同一 Elasticsearch 集群,每个实例需使用不同的索引名,通过此变量定义。es.username:可选(默认空):用于连接 Elasticsearch 的用户名。es.password:可选(默认空):用于连接 Elasticsearch 的密码。kb.url:可选(默认http://localhost:5601):Kibana 监听的 URL。Docker Compose YAML 示例片段:
yamlservices: geonetwork: image: ppc64le/geonetwork:4.4 environment: GN_CONFIG_PROPERTIES: >- -Des.host=elasticsearch -Des.protocol=http -Des.port=9200 -Des.url=http://elasticsearch:9200 -Des.username=my_es_username -Des.password=my_es_password -Dkb.url=http://kibana:5601
环境变量(4.2 及更早版本)
对于 4.4.0 之前的版本,使用环境变量配置 Elasticsearch:
ES_HOST:必填:Elasticsearch 服务器的主机名。ES_PORT:可选(默认9200):Elasticsearch 服务器监听的端口。ES_PROTOCOL:可选(默认http):用于与 Elasticsearch 通信的协议,可为http或https。ES_INDEX_RECORDS:可选(默认gn_records):如果多个 GeoNetwork 实例使用同一 Elasticsearch 集群,每个实例需使用不同的索引名,通过此变量定义。ES_USERNAME:可选(默认空):用于连接 Elasticsearch 的用户名。ES_PASSWORD:可选(默认空):用于连接 Elasticsearch 的密码。KB_URL:可选(默认http://localhost:5601):Kibana 监听的 URL。默认情况下,GeoNetwork 使用本地H2 数据库用于演示(不推荐用于生产环境)。该镜像包含 PostgreSQL 和 MySQL 的 JDBC 驱动程序。要配置数据库连接,使用以下环境变量:
GEONETWORK_DB_TYPE:要使用的数据库类型。有效值为postgres、postgres-postgis、mysql。可扩展镜像以包含其他驱动程序,也可使用其他类型:db2、h2、oracle、sqlserver。这些其他数据库的 JAR 驱动程序需添加到/opt/geonetwork/WEB-INF/lib,可通过挂载或扩展官方镜像实现。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将生成 JDBC 连接字符串如jdbc:postgresql://localhost:5432/postgres?search_path=test,public&ssl=true以下命令将启动基于 Debian 的容器,运行 Tomcat(GN 3)或 Jetty(GN 4)Web 服务器,并部署 GeoNetwork WAR:
consoledocker run --name some-geonetwork -d ppc64le/geonetwork
GeoNetwork 监听8080端口。如果要从主机访问容器,必须发布此端口。例如,以下命令将容器的 8080 端口流量重定向到主机的同一端口:
consoledocker run --name some-geonetwork -d -p 8080:8080 ppc64le/geonetwork
然后,如果在 Linux 上运行 Docker,可通过 http://localhost:8080/geonetwork 访问 GeoNetwork。
数据目录是目录在文件系统上存储其大部分自定义配置和上传文件的位置。它还存储许多支持文件,用于各种目的(例如:空间索引、缩略图)。默认变体还使用本地 H2 数据库存储元数据目录本身。
默认情况下,GeoNetwork 将数据目录设置为/opt/geonetwork/WEB-INF/data,H2 数据库文件在 Jetty 目录/var/lib/jetty/gn.h2.db(自 GN 4.0.0 起)或 Tomcat 目录/usr/local/tomcat/gn.h2.db(适用于 GN 3),但可通过向容器注入环境变量覆盖这些值:-e DATA_DIR=...(默认/opt/geonetwork/WEB-INF/data)和-e GEONETWORK_DB_NAME=...(默认gn,在 tomcat bin 目录/usr/local/tomcat中设置数据库gn.h2.db)。注意,通过GEONETWORK_DB_NAME设置数据库位置仅从 3.10.3 版本开始支持。
从 4.4.0 版本开始,数据目录需使用GN_CONFIG_PROPERTIES环境变量中传递的 Java 属性配置。例如:
consoledocker run --name some-geonetwork -d -p 8080:8080 -e GN_CONFIG_PROPERTIES="-Dgeonetwork.dir=/catalogue-data" -e GEONETWORK_DB_NAME=/catalogue-data/db/gn ppc64le/geonetwork
要将数据目录设置为/catalogue-data/data,H2 数据库文件设置为/catalogue-data/db/gn.h2.db,以便在重启后保留:
consoledocker run --name some-geonetwork -d -p 8080:8080 -e DATA_DIR=/catalogue-data/data -e GEONETWORK_DB_NAME=/catalogue-data/db/gn ppc64le/geonetwork:3
consoledocker run --name some-geonetwork -d -p 8080:8080 -e GN_CONFIG_PROPERTIES="-Dgeonetwork.dir=/catalogue-data" -e GEONETWORK_DB_NAME=/catalogue-data/db/gn ppc64le/geonetwork
如果希望数据目录在容器重启甚至销毁后仍然存在,可将 Docker 引擎主机的目录挂载到容器中:-v /host/path:/path/to/data/directory。例如,以下命令将主机目录/host/geonetwork-docker挂载到容器的/catalogue-data:
consoledocker 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-docker:/catalogue-data ppc64le/geonetwork:3
consoledocker 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 ppc64le/geonetwork
geonetwork的compose.yaml示例:
yaml# GeoNetwork # # 通过 "http://localhost:8080/geonetwork" 访问 # # 默认用户:admin # 默认密码:admin volumes: geonetwork: esdata: pgdata: pglog: services: geonetwork: image: 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 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 #
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务