本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

基于 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 插件,已停止分发,需升级至新版本。docker pull oscarfonts/geoserver
作为服务运行,暴露 8080 端口并挂载本地数据目录:
docker 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 可被容器内外用户共同访问:
docker run -d -p 8080:8080 -e CUSTOM_UID=$(id -u) -e CUSTOM_GID=$(id -g) oscarfonts/geoserver
如需添加扩展,提供包含未解压扩展包的目录(每个扩展一个子目录),挂载至 /var/local/geoserver-exts/:
docker 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 配置目录自定义上下文路径:
docker run -d -p 8080:8080 -v ${PWD}/config_dir:/usr/local/tomcat/conf/Catalina/localhost oscarfonts/geoserver
默认已启用 CORS 并配置于 servlet 的 web.xml 过滤器中。若前端已处理跨域,可通过环境变量禁用:
docker 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)

免费版仅支持 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