
如果你使用 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 官方 Tomcat 镜像构建的 GeoServer 容器化部署方案,旨在提供便捷、可配置的 GeoServer 服务部署方式。主要用途是在容器环境中快速部署 GeoServer,支持自定义数据存储、扩展管理、权限控制等功能,适用于地理空间数据发布与管理场景。
受严重安全漏洞影响的旧版 GeoServer 已从本仓库移除,以避免潜在风险。请尽可能升级至最新版本,或至少使用以下安全版本:
若关注安全性并希望保持 GeoServer 良好运行状态,https://geoserver.org/behind%20the%20scenes/2024/09/10/gs3.html%E3%80%82
tomcat:9-jre17 构建。/var/local/geoserver。以下版本提供自动化构建,可从 https://hub.docker.com/r/oscarfonts/geoserver/ 获取:
以下为实验性 Dockerfile(非自动化构建),更适合作为参考示例而非生产环境使用:
bashdocker pull docker.xuanyuan.run/oscarfonts/geoserver
作为服务运行,暴露 8080 端口并挂载本地数据目录:
bashdocker run -d -p 8080:8080 -v ${PWD}/data_dir:/var/local/geoserver docker.xuanyuan.run/oscarfonts/geoserver
构建镜像时,通过 GEOSERVER_PATH 参数修改 GeoServer 基础访问路径,默认值为 /geoserver。
通过环境变量 CUSTOM_UID 和 CUSTOM_GID 自定义 tomcat 用户的 UID 和 GID,确保挂载的 data_dir 和 exts_dir 可被容器内外用户共同访问:
bashdocker run -d -p 8080:8080 -e CUSTOM_UID=$(id -u) -e CUSTOM_GID=$(id -g) docker.xuanyuan.run/oscarfonts/geoserver
如需添加扩展,提供包含未解压扩展包的目录(每个扩展一个子目录),挂载至 /var/local/geoserver-exts/:
bashdocker run -d -p 8080:8080 -v ${PWD}/exts_dir:/var/local/geoserver-exts/ docker.xuanyuan.run/oscarfonts/geoserver
可使用 build_exts_dir.sh 脚本配合 https://github.com/oscarfonts/docker-geoserver/tree/master/extensions 快速创建扩展目录。
警告:扩展目录中的
.jar文件将被复制到 GeoServer 的WEB-INF/lib目录,仅添加来自可信来源的文件以避免安全风险。
通过挂载 Catalina 配置目录自定义上下文路径:
bashdocker run -d -p 8080:8080 -v ${PWD}/config_dir:/usr/local/tomcat/conf/Catalina/localhost docker.xuanyuan.run/oscarfonts/geoserver
默认已启用 CORS 并配置于 servlet 的 web.xml 过滤器中。若前端已处理跨域,可通过环境变量禁用:
bashdocker run -d -p 8080:8080 -e "GEOSERVER_CORS_ENABLED=false" docker.xuanyuan.run/oscarfonts/geoserver
可通过以下环境变量微调 CORS 策略(参考 https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter%EF%BC%89%EF%BC%9A
GEOSERVER_CORS_ALLOWED_ORIGINS:允许的源(对应 cors.allowed.origins)GEOSERVER_CORS_ALLOWED_METHODS:允许的 HTTP 方法(对应 cors.allowed.methods)GEOSERVER_CORS_ALLOWED_HEADERS:允许的请求头(对应 cors.allowed.headers)GEOSERVER_CORS_URL_PATTERN:过滤器匹配的 URL 模式(对应 filter-mapping url-pattern)您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务