轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
geosolutionsit/geoserver
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

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

geoserver Docker 镜像下载 - 轩辕镜像

geoserver 镜像详细信息和使用指南

geoserver 镜像标签列表和版本信息

geoserver 镜像拉取命令和加速下载

geoserver 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

geoserver
geosolutionsit/geoserver

geoserver 镜像详细信息

geoserver 镜像标签列表

geoserver 镜像使用说明

geoserver 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

在Docker中运行GeoServer的镜像,基于Tomcat 9、JDK 11(Eclipse Temurin)和Ubuntu Jammy(22.04 LTS),支持数据目录持久化、环境变量配置、CORS、自定义字体及插件管理,提供灵活部署和运维能力。
16 收藏0 次下载activegeosolutionsit镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

geoserver 镜像详细说明

geoserver 使用指南

geoserver 配置说明

geoserver 官方文档

docker-geoserver

![dockerhub pulls]([***]

在Docker中运行GeoServer。基于官方Tomcat Docker镜像,具体包括:

  • Tomcat 9
  • JDK 11(Eclipse Temurin)
  • Ubuntu Jammy(22.04 LTS)

!当前构建 diagram

核心功能特性

  • 支持从主机挂载数据目录以实现持久化。
  • 通过环境变量设置ADMIN_PASSWORD。
  • 灵活挂载其他路径实现持久化。
  • 从本地/远程URL构建GeoServer Web应用(WAR)文件。
  • 运行时使用自定义GeoServer WAR文件。
  • 提供运行时重载GeoServer的辅助脚本。
  • 提供运行时测试插件的辅助脚本。
  • CORS(跨域资源共享)支持。
  • 构建时指定自定义字体。

重要说明

大多数从主机挂载到容器的路径(如$GEOSERVER_LOG_DIR、$CATALINA_BASE、$GEOWEBCACHE_CACHE_DIR、$GEOWEBCACHE_CONFIG_DIR、$NETCDF_DATA_DIR、$GRIB_CACHE_DIR、$GEOSERVER_DATA_DIR)应归属于GeoServer运行用户的UID,目前该UID为1000。这些路径需递归设置该UID的所有权。更多信息见权限调整。

如何运行

docker run --name gs -p 8080:8080 geosolutionsit/geoserver

或使用默认GeoServer数据目录实现数据持久化(以下示例中GEOSERVER_DATA_DIR指向/var/geoserver/datadir):

docker run --rm --name gs -p 8080:8080 geosolutionsit/geoserver

将数据目录保存到本地作为初始数据目录:

docker cp gs:/var/geoserver/datadir ./datadir
docker stop gs

使用保存的数据目录启动带数据持久化的GeoServer:

docker run -v ./datadir:/var/geoserver/datadir --name gs -p 8080:8080 geosolutionsit/geoserver

带数据持久化启动GeoServer

启动带数据持久化的GeoServer并修改管理员密码:

docker run -e ADMIN_PASSWORD=securepassword -v datadir:/var/geoserver/datadir --name gs -p 8080:8080 geosolutionsit/geoserver

打开浏览器访问http://localhost:8080/geoserver。GeoServer Web界面将显示,可使用管理员用户admin和密码geoserver登录。

环境变量

运行时可使用以下环境变量:

路径相关环境变量

  • GEOSERVER_LOG_DIR:自定义日志存放路径
  • GEOSERVER_DATA_DIR:自定义GeoServer数据目录路径
  • GEOWEBCACHE_CONFIG_DIR:自定义GeoServer缓存配置目录路径
  • GEOWEBCACHE_CACHE_DIR:自定义GeoServer缓存目录路径
  • NETCDF_DATA_DIR:自定义GeoServer NETCDF数据目录路径
  • GRIB_CACHE_DIR:自定义GeoServer GRIB缓存目录路径

这些变量可关联到外部卷,以在Docker Compose等场景中持久化数据。

其他环境变量

  • CATALINA_OPTS:自定义容器的CATALINA_OPTS参数
  • EXTRA_GEOSERVER_OPTS:追加到CATALINA_OPTS的额外参数
  • JAIEXT_ENABLED:默认true,详情见JAI扩展文档
  • APP_LOCATION:重命名GeoServer Web应用目录(默认为geoserver)

Java堆大小调整环境变量

  • INITIAL_MEMORY:默认2G(对应-Xms)
  • MAXIMUM_MEMORY:默认4G(对应-Xmx)

CORS变量

可通过环境变量配置CORS头(同时支持构建参数):

  • CORS_ENABLED:设为true启用CORS支持,以下变量用于自定义CORS配置
  • CORS_ALLOWED_ORIGINS:默认*(允许的源)
  • CORS_ALLOWED_METHODS:默认GET,POST,PUT,DELETE,HEAD,OPTIONS(允许的方法)
  • CORS_ALLOWED_HEADERS:默认*(允许的请求头)
  • CORS_ALLOW_CREDENTIALS:默认false(是否允许凭证)。设为true时,CORS_ALLOWED_ORIGINS必须指定具体源(不能为*)

使用WAR文件和插件构建

以下示例演示如何构建仅包含GeoServer WAR的Docker镜像,然后在运行时添加插件:

docker build -t geoserver:test-2.19.1 \
--build-arg GIT_HASH=`git show -s --format=%H` \
--build-arg GEOSERVER_WEBAPP_SRC=[***]  .

docker run \
--env PLUGIN_DYNAMIC_URLS="[***] \
[***]" \
--rm --name gs -p 8080:8080 geoserver:test-2.19.1

使用Docker Compose运行GeoServer

Docker Compose是简化多容器管理的工具。安装说明见Docker文档(Docker Desktop已预装,无需额外安装)。使用前需正确配置docker-compose.yml文件。

外部化GeoServer容器的数据目录

要持久化并外部访问GeoServer容器数据,需在容器中设置环境变量,并关联到外部卷。步骤如下:

  1. 在docker-compose.yml同目录创建.env文件,定义环境变量:
GEOSERVER_LOG_DIR=/var/geoserver/logs
GEOSERVER_DATA_DIR=/var/geoserver/datadir
GEOWEBCACHE_CONFIG_DIR=/var/geoserver/datadir/gwc
GEOWEBCACHE_CACHE_DIR=/var/geoserver/gwc_cache_dir
NETCDF_DATA_DIR=/var/geoserver/netcdf_data_dir
GRIB_CACHE_DIR=/var/geoserver/grib_cache_dir

更多.env文件说明见Docker Compose规范。

  1. 在docker-compose.yml中配置环境变量和卷:
services:
  geoserver:
    build:
      context: .
      dockerfile: ./Dockerfile
    environment:
      - GEOSERVER_LOG_DIR=${GEOSERVER_LOG_DIR}
      - GEOSERVER_DATA_DIR=${GEOSERVER_DATA_DIR}
      - GEOWEBCACHE_CONFIG_DIR=${GEOWEBCACHE_CONFIG_DIR}
      - GEOWEBCACHE_CACHE_DIR=${GEOWEBCACHE_CACHE_DIR}
      - NETCDF_DATA_DIR=${NETCDF_DATA_DIR}
      - GRIB_CACHE_DIR=${GRIB_CACHE_DIR}
    volumes:
      - logs:${GEOSERVER_LOG_DIR}
      - datadir:${GEOSERVER_DATA_DIR}
      - gwc_config:${GEOWEBCACHE_CONFIG_DIR}
      - gwc:${GEOWEBCACHE_CACHE_DIR}
      - netcfd:${NETCDF_DATA_DIR}
      - grib_cache:${GRIB_CACHE_DIR}
volumes:
  pg_data:
  logs:
  datadir:
  gwc_config:
  gwc:
  netcfd:
  grib_cache:

可设置环境变量默认值(未在.env中定义时使用):

environment:
  - GEOSERVER_LOG_DIR=${GEOSERVER_LOG_DIR:-/var/geoserver/logs}

卷配置详情见Docker卷文档。

使用自定义WAR文件构建GeoServer容器

默认通过URL构建GeoServer容器,可修改docker-compose.yml使用本地WAR文件:

geoserver:
  build:
    context: .
    dockerfile: ./Dockerfile
    args:
      GEOSERVER_WEBAPP_SRC: "/host/directory/alternativegeoserver.war"
  container_name: geoserver 

支持URL和本地文件,详情见Docker ADD文档。

在Docker Compose运行时使用自定义WAR文件

  • GeoServer服务配置示例:
geoserver:
  image: geosolutionsit/geoserver:2.23.0  # 初始指定镜像避免Docker报错
  volumes:
    - /path/custom-war:/usr/local/tomcat/webapps/geoserver  # 挂载自定义WAR(需解压)
  environment:
    - EXTRA_GEOSERVER_OPTS="-DGEOSERVER_CSRF_WHITELIST=example.org -DENABLE_JSONP=true"
  container_name: geoserver
  depends_on:
    postgres:
      condition: service_healthy
  ports:
    - 8080
  networks:
    - geoserver-network

调整绑定挂载的权限

  1. 确定用户ID:通过docker exec进入容器,运行id命令获取GeoServer运行用户ID(默认为1000)。
  2. 调整权限:在主机上使用chown设置目录所有者为该ID,chmod设置权限。

示例(假设用户ID为1000,目录为/path/custom-war):

sudo chown -R 1000:1000 /path/custom-war
sudo chmod -R 755 /path/custom-war

自定义字体

构建时通过CUSTOM_FONTS参数指定主机字体路径,构建过程中会复制到镜像:

docker build --build-arg CUSTOM_FONTS=/path/to/host/fonts -t geoserver:with-fonts .

从容器外部访问GeoServer PostgreSQL服务器

容器间通过Docker Compose创建的网络通信。要从主机访问容器,需通过ports关键字暴露端口:

ports:
  - "bind_address:hostport:containerport"  # 需用引号括起,避免YAML浮点型解析冲突

主机端口与容器端口可不同,避免端口冲突。建议显式指定bind_address以避免安全问题。

示例docker-compose.yml配置:

services:
  postgres:
    image: postgis/postgis
    container_name: postgres
    ports:
      - "5432:5432"  # 暴露PostgreSQL端口
  geoserver:
    container_name: geoserver
    ports:
      - "8080:8080"  # 暴露GeoServer端口

容器启停命令

  • 首次启动/应用配置变更:
docker compose up
  • 启动已创建容器:
docker compose start

输出示例:

Starting postgres ... done
Starting geoserver ... done
Starting proxy ... done
  • 停止容器:
docker compose stop

输出示例:

Stopping proxy ... done
Stopping geoserver ... done
Stopping postgres  ... done
  • 重置容器(保留外部卷):
docker compose down

使用自定义geoserver.war构建Docker镜像

确保./geoserver.war存在,执行以下命令:

docker build --build-arg GEOSERVER_WEBAPP_SRC="./geoserver.war" -t geoserver:test .

构建参数

可通过构建参数自定义镜像:

  • PLUG_IN_URLS:空格分隔的GeoServer插件URL列表(支持扩展和社区插件)
  • GEOSERVER_DATA_DIR_SRC:自定义数据目录(本地zip、目录或远程URL,见ADD文档)
  • GEOSERVER_WEBAPP_SRC:自定义Web应用(本地zip、目录或远程URL)。从GeoServer官网下载时,URL需以/download结尾(见官方下载页)

构建示例

# 使用本地WAR构建
docker build -t geoserver:test . --build-arg GEOSERVER_WEBAPP_SRC="./resources/geoserver/geoserver.war"

# 构建包含自定义数据目录的镜像
docker build -t geoserver:test . --build-arg GEOSERVER_WEBAPP_SRC="./resources/geoserver/geoserver.war" --build-arg GEOSERVER_DATA_DIR_SRC="./resources/geoserver-datadir/"

# 构建带插件的稳定版镜像
docker build -t geoserver:luca-test-2.19.1 --build-arg GEOSERVER_WEBAPP_SRC="[***]" --build-arg PLUG_IN_URLS="[***] [***]" .

GeoServer REST重载

运行中容器可通过以下命令重载GeoServer:

docker exec -it <容器名称> bash /usr/local/bin/geoserver-rest-reload.sh

在运行中容器上测试插件

docker exec -it <容器名称> bash -c 'geoserver-plugin-download.sh $CATALINA_BASE/webapps/$APP_LOCATION/WEB-INF/lib <空格分隔的插件URL列表>'

Docker Hub构建流程及辅助脚本

hooks目录下提供Docker Hub构建相关脚本。hooks/build脚本使用以下环境变量定义GeoServer版本:

export MAINT_VERSION="2.17.3 2.17.2 2.17.1"
export MIDDLE_STABLE="18"
export NIGHTLY_MAINT_VERSION="2.17.x"
export NIGHTLY_MASTER_VERSION="master foobar"
export NIGHTLY_STABLE_VERSION="2.18.x"
export STABLE_VERSION="2.18.1 2.18.0"

注:foobar为测试用无效版本,用于验证构建失败逻辑;MIDDLE_STABLE用于脚本逻辑,需设为最新稳定版次要版本号。可通过test_hooks.sh脚本本地测试构建钩子。

custom_build.sh脚本使用

运行脚本不带参数可显示帮助:

./custom_build.sh
Usage: ./custom_build.sh [docker image tag] [geoserver version] [geoserver master version] [datadir| nodatadir] [pull|no pull];

参数说明:

  • [docker image tag]:镜像标签
  • [geoserver version]:GeoServer版本(设为master获取最新版)
  • [geoserver master version]:主版本号(如使用发布版,设为发布号)
  • [datadir|nodatadir]:nodatadir表示不将数据目录打包进镜像
  • [pull|no pull]:pull表示构建时拉取远程镜像,no pull使用本地镜像

使用示例

./custom_build.sh my-docker-tag 2.18.x 2.18.x nodatadir no_pull

GIT_HASH信息

构建时添加GIT_HASH参数可嵌入Git哈希:

docker build --build-
查看更多 geoserver 相关镜像 →
georchestra/geoserver logo
georchestra/geoserver
by georchestra
geOrchestra SDI的GeoServer模块
210K+ pulls
上次更新:17 天前
geonode/geoserver logo
geonode/geoserver
by geonode
用于GeoNode的GeoServer镜像,提供地理空间数据发布与管理服务,支持在GeoNode环境中集成地图服务功能。
421M+ pulls
上次更新:3 天前
thinkwhere/geoserver logo
thinkwhere/geoserver
by thinkwhere
GeoServer地理信息服务器Docker镜像,用于发布地图数据和提供空间服务,支持多种地理信息标准,实现便捷部署与地理空间服务快速搭建。
15500K+ pulls
上次更新:3 个月前
ndscprm/geoserver logo
ndscprm/geoserver
by ndscprm
CPRM定制的GeoServer地理空间数据服务器镜像,用于发布、管理和共享地理空间数据,支持OGC标准服务。
100K+ pulls
上次更新:1 天前
kartoza/geoserver logo
kartoza/geoserver
by kartoza
kartoza/geoserver 是基于开源GeoServer构建的Docker镜像,可快速部署和运行地理空间数据服务器,完整支持OGC标准(如WMS、WFS、WCS),方便用户轻松发布、管理和可视化各类地理数据,适用于GIS应用、地图服务和空间数据分析场景。容器化设计简化部署流程,确保跨平台运行一致性,内置优化配置提供稳定高效的地图服务能力,帮助开发者和系统管理员快速搭建地理数据服务平台,有效降低GIS系统搭建复杂度,加速地理空间应用开发与部署。
1645M+ pulls
上次更新:12 天前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.