
oscarfonts/geoserver基于 Docker 官方 Tomcat 镜像构建的 GeoServer 容器化部署方案,旨在提供便捷、可配置的 GeoServer 服务部署方式。主要用途是在容器环境中快速部署 GeoServer,支持自定义数据存储、扩展管理、权限控制等功能,适用于地理空间数据发布与管理场景。
受严重安全漏洞影响的旧版 GeoServer 已从本仓库移除,以避免潜在风险。请尽可能升级至最新版本,或至少使用以下安全版本:
若关注安全性并希望保持 GeoServer 良好运行状态,建议支持 3.0 版本的开发。
tomcat:9-jre17 构建。/var/local/geoserver。以下版本提供自动化构建,可从 Docker Hub 获取:
latest, 2.27.2(2.27.2/Dockerfile)2.26.4(2.26.4/Dockerfile)2.25.7(2.25.7/Dockerfile)2.24.5(2.24.5/Dockerfile)2.23.6(2.23.6/Dockerfile)以下为实验性 Dockerfile(非自动化构建),更适合作为参考示例而非生产环境使用:
oracle:基于 wnameless/oracle-xe-11g,需手动提供 ojdbc7.jar 并配置数据库(参考 setup.sql),运行命令见 run.sh。h2-vector:与 oscarfonts/h2:geodb 兼容,包含 docker-compose 和 systemd 示例脚本。ecw:为旧版 GeoServer 添加带 ECW 支持的 GDAL 插件,已停止分发,需升级至新版本。bashdocker pull oscarfonts/geoserver
作为服务运行,暴露 8080 端口并挂载本地数据目录:
bashdocker run -d -p 8080:8080 -v ${PWD}/data_dir:/var/local/geoserver 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) oscarfonts/geoserver
如需添加扩展,提供包含未解压扩展包的目录(每个扩展一个子目录),挂载至 /var/local/geoserver-exts/:
bashdocker run -d -p 8080:8080 -v ${PWD}/exts_dir:/var/local/geoserver-exts/ oscarfonts/geoserver
可使用 build_exts_dir.sh 脚本配合 extensions 配置文件 快速创建扩展目录。
警告:扩展目录中的
.jar文件将被复制到 GeoServer 的WEB-INF/lib目录,仅添加来自可信来源的文件以避免安全风险。
通过挂载 Catalina 配置目录自定义上下文路径:
bashdocker run -d -p 8080:8080 -v ${PWD}/config_dir:/usr/local/tomcat/conf/Catalina/localhost oscarfonts/geoserver
默认已启用 CORS 并配置于 servlet 的 web.xml 过滤器中。若前端已处理跨域,可通过环境变量禁用:
bashdocker run -d -p 8080:8080 -e "GEOSERVER_CORS_ENABLED=false" oscarfonts/geoserver
可通过以下环境变量微调 CORS 策略(参考 Tomcat 文档):
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)

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务