
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
一个简单的Docker容器,用于运行GeoServer,受此Docker配置启发:https://github.com/eliotjordan/docker-geoserver/blob/master/Dockerfile
注意: 建议使用apt-cacher-ng加速包获取 - 您应在提供的71-apt-cacher-ng文件中配置主机。
有多种方式将镜像获取到您的系统:
首选方式(但初始镜像会占用较多带宽)是获取我们的Docker可信构建,如下所示:
shelldocker pull kartoza/geoserver
若要不使用apt-cacher-ng自行构建镜像(每次构建时都需要重新获取deb包,也会消耗更多带宽):
shelldocker build -t kartoza/geoserver git://github.com/kartoza/docker-geoserver
若要使用apt-cacher-ng构建(并最小化下载需求),需先本地克隆此仓库,修改71-apt-cacher-ng文件内容以匹配您的缓存主机,然后使用本地URL而非直接从GitHub构建。
shellgit clone git://github.com/kartoza/docker-geoserver
编辑71-apt-cacher-ng后执行:
shelldocker build -t kartoza/geoserver .
要将OpenJDK替换为Oracle JDK,设置构建参数ORACLE_JDK=true:
shelldocker build --build-arg ORACLE_JDK=true -t kartoza/geoserver .
或者,您可以下载webupd8team的Oracle JDK安装器当前使用的Oracle JDK 7 Linux x64 tar.gz文件(通常是Oracle提供的最新版本),并在构建前将其放在resources目录下。
若使用Oracle JDK时需启用强加密(推荐),请下载对应JDK版本的Oracle Java策略jar zip,并在构建前将其放在resources/jce_policy.zip。
要构建包含插件(如SQL Server插件、Excel输出插件)的GeoServer镜像,从GeoServer下载页面下载插件zip文件,放在resources/plugins目录下,同时下载对应版本的GeoServer WAR zip文件到resources/geoserver.zip。
要移除Tomcat额外组件(包括文档、示例和管理器webapp),将构建参数TOMCAT_EXTRAS设置为false:
shelldocker build --build-arg TOMCAT_EXTRAS=false -t kartoza/geoserver .
构建过程中,resources/overlays目录的内容将被复制到镜像文件系统。例如,要包含静态Tomcat setenv.sh,可在resources/overlays/usr/local/tomcat/bin/setenv.sh创建该文件。
您可使用此功能将静态GeoServer目录写入/opt/geoserver/data_dir、包含额外jar文件等。
注意:覆盖文件会替换现有目标文件!
您可能还需要运行postgis。创建运行中的容器:
shelldocker run --name "postgis" -d -t kartoza/postgis:9.4-2.1 docker run --name "geoserver" --link postgis:postgis -p 8080:8080 -d -t kartoza/geoserver
您也可使用以下环境变量为postgis传递用户名和密码:
这些将用于创建具有您偏好凭据的新超级用户。若未指定,postgresql用户将设为'docker',密码为'docker'。
此仓库的run.sh脚本提供了一个便捷的运行脚本,可同时设置postgis容器和geoserver容器。
注意: 默认的geoserver用户为'admin',密码为'geoserver'。强烈建议首次登录后立即修改这些凭据。
可使用Docker卷持久化数据:
shellmkdir -p ~/geoserver_data docker run -d -v $HOME/geoserver_data:/opt/geoserver/data_dir kartoza/geoserver
需确保geoserver_data目录具有足够权限,供docker进程读写。
要设置Tomcat属性(如最大堆内存大小),创建setenv.sh文件:
shellJAVA_OPTS="$JAVA_OPTS -Xmx1536M -XX:MaxPermSize=756M" JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled"
运行时将setenv.sh文件作为卷挂载到/usr/local/tomcat/bin/setenv.sh:
shelldocker run -d -v $HOME/setenv.sh:/usr/local/tomcat/bin/setenv.sh kartoza/geoserver
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



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