专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
geoserver

sonoilmagopancione/geoserver

sonoilmagopancione

一个简单的Docker容器,用于运行GeoServer,支持自定义构建、插件激活、SSL配置和集群部署,适用于地理空间数据服务的快速部署和管理。

下载次数: 0状态:社区镜像维护者:sonoilmagopancione仓库类型:镜像最近更新:5 年前
轩辕镜像,快一点,稳很多。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。点击查看

docker-geoserver

一个运行GeoServer的简单Docker容器,受此Docker配置启发:https://github.com/eliotjordan/docker-geoserver/blob/master/Dockerfile

获取镜像

有多种方式将镜像获取到您的系统中:

首选方式(但初始镜像会占用较多带宽)是获取我们的Docker可信构建,命令如下:

shell
docker pull kartoza/geoserver

构建镜像

使用本地检出和docker-compose.build.yaml构建

编辑.env文件修改构建参数:

IMAGE_VERSION=tomcat镜像标签
JAVA_HOME=与tomcat版本对应的Java主路径
WAR_URL=获取geoserver war或zip文件的默认URL
STABLE_PLUGIN_URL=获取geoserver稳定版插件的URL
ACTIVATE_ALL_STABLE_EXTENTIONS=指定是否构建所有稳定版插件或单个插件
ACTIVATE_ALL_COMMUNITY_EXTENTIONS=指定是否构建所有社区版插件或单个插件
shell
git clone git://github.com/kartoza/docker-geoserver
cd docker-geoserver
docker-compose -f docker-compose-build.yml up -d --build

使用URL中的war文件构建

如果需要使用从服务器下载的自定义GeoServer war文件构建镜像,可以通过构建参数传递war文件URL,示例:

shell
docker build --build-arg WAR_URL=http://download2.nust.na/pub4/sourceforge/g/project/ge/geoserver/GeoServer/2.13.0/geoserver-2.13.0-war.zip --build-arg GS_VERSION=2.13.0

注意:war文件版本必须与GS_VERSION参数提供的版本号匹配,否则插件和已安装的GeoServer会出现版本不匹配。

使用特定版本的Tomcat构建

要使用特定标签的Tomcat镜像构建,将IMAGE_VERSION构建参数设置为8-jre8:查看https://hub.docker.com/_/tomcat/%E9%80%89%E6%8B%A9%E9%9C%80%E8%A6%81%E6%9E%84%E5%BB%BA%E7%9A%84%E6%A0%87%E7%AD%BE%E3%80%82

例如 VERSION=2.17.0
docker build --build-arg IMAGE_VERSION=8-jre8 --build-arg GS_VERSION=2.17.0 -t kartoza/geoserver:${VERSION} .

对于一些较新的构建,可能还需要设置JAVA_PATH(例如Apache Tomcat/9.0.36):

docker build --build-arg IMAGE_VERSION=9-jdk11-openjdk-slim --build-arg JAVA_HOME=/usr/local/openjdk-11/bin/java --build-arg GS_VERSION=2.17.0 -t kartoza/geoserver:2.17.0 .

使用文件系统覆盖构建(高级)

构建过程中,resources/overlays目录的内容会被复制到镜像文件系统。例如,要包含静态Tomcat setenv.sh,在resources/overlays/usr/local/tomcat/bin/setenv.sh创建该文件。

可使用此功能将静态GeoServer目录写入/opt/geoserver/data_dir、包含额外jar文件等。

如果已有来自其他Geoserver的带有安全设置的data_dir:设置EXISTING_DATA_DIR=true。这将防止Docker修改密码。

覆盖文件会覆盖现有目标文件,请注意!

构建CORS支持

构建过程中,resources/overlays目录的内容会被复制到镜像文件系统。例如,要包含支持CORS的静态web xml web.xml,在resources/overlays/usr/local/tomcat/conf/web.xml创建该文件。

环境变量

完整的环境变量列表在.env文件中指定。

运行时激活插件

镜像预装了以下稳定版插件:

  • vectortiles-plugin
  • wps-plugin
  • printing-plugin
  • libjpeg-turbo-plugin
  • control-flow-plugin
  • pyramid-plugin
  • gdal-plugin

如需使用其他插件,可在启动时传递环境变量激活,例如:

例如 VERSION=2.16.2
docker run -d -p 8600:8080 --name geoserver -e STABLE_EXTENSIONS=charts-plugin,db2-plugin kartoza/geoserver:${VERSION} 

可传递stable_plugins.txt文件中定义的多个逗号分隔的插件。

也可激活community_plugins.txt中定义的社区插件:

例如 VERSION=2.16.2
docker run -d -p 8600:8080 --name geoserver -e COMMUNITY_EXTENSIONS=gwc-sqlite-plugin,ogr-datastore-plugin kartoza/geoserver:${VERSION} 

使用示例数据

如需使用默认数据目录进行测试,可通过环境变量SAMPLE_DATA=true激活:

例如 VERSION=2.16.2
docker run -d -p 8600:8080 --name geoserver -e SAMPLE_DATA=true kartoza/geoserver:${VERSION} 

启用PostgreSQL后端的磁盘配额存储

默认情况下,GeoServer使用H2数据存储配置磁盘配额。可使用PostgreSQL后端作为磁盘配额存储。

需要运行PostgreSQL数据库并链接到GeoServer实例:

docker run -d -p 5432:5432 --name db kartoza/postgis:13.0
docker run -d -p 8600:8080 --name geoserver --link db:db -e DB_BACKEND=POSTGRES -e HOST=db -e POSTGRES_PORT=5432 -e POSTGRES_DB=gis -e POSTGRES_USER=docker -e POSTGRES_PASS=docker kartoza/geoserver:2.18.0

运行在SSL下

可使用环境变量指定是否在SSL下运行GeoServer。 感谢https://github.com/AtomGraph/letsencrypt-tomcat%E6%8F%90%E4%BE%9BSSL%E8%BF%90%E8%A1%8C%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E3%80%82

如果设置环境变量SSL=true但未提供pem文件(fullchain.pem和privkey.pem),容器将生成自签名SSL证书:

例如 VERSION=2.16.2
docker run -it --name geoserver  -e PKCS12_PASSWORD=geoserver -e JKS_KEY_PASSWORD=geoserver -e JKS_STORE_PASSWORD=geoserver -e SSL=true -p 8443:8443 -p 8600:8080 kartoza/geoserver:${VERSION} 

如果已有自己的perm文件(fullchain.pem和privkey.pem),可挂载包含密钥的目录:

例如 VERSION=2.16.2
docker run -it --name geo -v /etc/letsencrpt:/etc/letsencrypt  -e PKCS12_PASSWORD=geoserver -e JKS_KEY_PASSWORD=geoserver -e JKS_STORE_PASSWORD=geoserver -e SSL=true -p 8443:8443 -p 8600:8080 kartoza/geoserver:${VERSION}  

也可使用PFX文件。将PFX文件重命名为certificate.pfx并挂载包含该文件的文件夹,会转换为perm文件。

注意 使用PFX文件时,确保指定的环境变量ALIAS_KEY与生成PFX密钥时使用的ALIAS_KEY匹配。

完整的SSL变量列表:

  • HTTP_PORT
  • HTTP_PROXY_NAME
  • HTTP_PROXY_PORT
  • HTTP_REDIRECT_PORT
  • HTTP_CONNECTION_TIMEOUT
  • HTTP_COMPRESSION
  • HTTPS_PORT
  • HTTPS_MAX_THREADS
  • HTTPS_CLIENT_AUTH
  • HTTPS_PROXY_NAME
  • HTTPS_PROXY_PORT
  • HTTPS_COMPRESSION
  • JKS_FILE
  • JKS_KEY_PASSWORD
  • KEY_ALIAS
  • JKS_STORE_PASSWORD
  • P12_FILE

移除Tomcat额外组件

要包含Tomcat额外组件(包括文档、示例和管理器webapp),将环境变量TOMCAT_EXTRAS设置为true: 注意 应配置环境变量TOMCAT_PASSWORD使用强密码,否则会设置默认密码。

例如 VERSION=2.16.2
docker run -it --name geoserver  -e TOMCAT_EXTRAS=true -p 8600:8080 kartoza/geoserver:${VERSION} 

升级镜像到特定版本

初始化期间,镜像会运行更新密码的脚本。首次运行GeoServer时建议更改密码,但后续升级时应使用环境变量EXISTING_DATA_DIR=true,告知GeoServer使用已存在的数据目录,不更改密码。

安装额外字体

如已下载额外字体,可将文件夹挂载到/opt/fonts路径,初始化时所有.ttf文件会复制到正确路径:

例如 VERSION=2.16.2
docker run -v fonts:/opt/fonts -p 8080:8080 -t kartoza/geoserver:${VERSION} .

支持的其他环境变量

还可使用以下环境变量向GeoServer传递参数:

  • GEOSERVER_DATA_DIR=<路径>
  • ENABLE_JSONP=<true或false>
  • MAX_FILTER_RULES=<整数>
  • OPTIMIZE_LINE_WIDTH=<false或true>
  • FOOTPRINTS_DATA_DIR=<路径>
  • GEOWEBCACHE_CACHE_DIR=<路径>
  • GEOSERVER_ADMIN_PASSWORD=<密码>
  • GEOSERVER_ADMIN_USER=<用户名>
  • GEOSERVER_FILEBROWSER_HIDEFS=<false或true>

为防止点击劫持***,GeoServer默认将X-Frame-Options HTTP头设置为SAMEORIGIN。控制是否设置X-Frame-Options过滤器,默认值为true:

  • XFRAME_OPTIONS="true"

  • Tomcat属性:

    • 可基于geoserver容器注意事项更改变量。这些参数作用于Java虚拟机的-Xms和-Xmx选项
    • INITIAL_MEMORY=<大小>:Java初始分配内存,默认2G
    • MAXIMUM_MEMORY=<大小>:Java最大分配内存,默认4G

控制流属性

控制流模块默认安装,用于管理GeoServer请求。如需根据资源和用例自定义,参考文档。这些选项可通过环境变量控制:

  • 控制流属性环境变量

    如果请求在队列中等待超过60秒,则不值得执行,客户端可能已放弃:

    • REQUEST_TIMEOUT=60 不允许并行执行超过100个请求:
    • PARARELL_REQUEST=100 不允许并行超过10个GetMap请求:
    • GETMAP=10 不允许超过4个Excel输出,因为它受内存限制:
    • REQUEST_EXCEL=4 不允许单个用户并行执行超过6个请求(6是编写时Firefox的默认并发级别):
    • SINGLE_USER=6 不允许并行执行超过16个瓦片请求(假设服务器有4个核心,GWC经验测试显示吞吐量在核心数的4倍时达到峰值。根据系统调整):
    • GWC_REQUEST=16
    • WPS_REQUEST=1000/d;30s

运行时更改GeoServer密码和用户名

默认GeoServer用户为'admin',密码为'geoserver'。可通过环境变量GEOSERVER_ADMIN_PASSWORD和GEOSERVER_ADMIN_USER在运行时更改:

docker run --name "geoserver" -e GEOSERVER_ADMIN_USER=kartoza  -e GEOSERVER_ADMIN_PASSWORD=myawesomegeoserver -p 8080:8080 -d -t kartoza/geoserver

Docker secrets

为避免在环境变量中传递敏感信息,可在部分变量后附加_FILE从容器内文件读取。这与Docker secrets结合特别有用,密码可从/run/secrets/<secret_name>加载,例如:

  • -e GEOSERVER_ADMIN_PASSWORD_FILE=/run/secrets/<geoserver_pass_secret>

更多信息见[***]

目前支持GEOSERVER_ADMIN_USER和GEOSERVER_ADMIN_PASSWORD。

使用JMS插件集群

GeoServer支持使用JMS集群插件或ActiveMQ-broker进行集群。

本设置使用JMS集群插件,该插件使用嵌入式代理。clustering文件夹中提供了docker-compose.yml,通过共享数据目录模拟复制。

与复制相关的环境变量如下:

  • CLUSTERING=True - 指定是否激活集群
  • BROKER_URL=tcp://0.0.0.0:61661 - 链接到JMS集群插件提供的内部代理,(主节点)的值不同
  • READONLY=disabled - 确定GeoServer实例是否为只读
  • RANDOMSTRING=87ee2a9b6802b6da_master - 用于为每个实例创建唯一的CLUSTER_CONFIG_DIR
  • INSTANCE_STRING=d8a167a4e61b5415ec263 - 用于区分集群实例名称
  • CLUSTER_DURABILITY=false
  • TOGGLE_MASTER=true - 区分实例是否为主节点
  • TOGGLE_SLAVE=true - 区分实例是否为节点
  • EMBEDDED_BROKER=disabled - 节点应禁用

运行镜像

使用docker-compose运行(自动化)

注意: 可能希望使用docker-compose运行,因为它提供可重复的编排部署系统。

我们提供示例docker-compose.yml文件,说明如何建立GeoServer + PostGIS。

如果对备份感兴趣,按照https://github.com/kartoza/docker-pg-backup/blob/master/docker-compose.yml#L23%E7%9A%84%E8%AF%B4%E6%98%8E%E5%9C%A8%60docker-compose.yml%60%E4%B8%AD%E6%B7%BB%E5%8A%A0%E9%83%A8%E5%88%86%E3%80%82

如果使用compose文件启动堆栈,确保使用用户名:admin和密码:myawesomegeoserver登录GeoServer。

注意: 用户名和密码在.env文件中指定,建议更改为更安全的值。

请阅读docker-compose文档了解docker-compose的使用和语法细节,此处不赘述。

所有服务启动后,在浏览器中访问GeoServer登录页面测试:http://localhost:8600/geoserver。

要在后台运行,按ctrl-c停止容器,然后在后台重新运行:

shell
docker-compose up -d

注意: docker-compose.yml使用基于主机的卷,因此删除容器时,所有数据将保留。使用基于主机的卷确保数据在compose文件调用之间持久化。如需删除容器数据,需运行docker-compose down -v。

使用rancher运行(自动化)

运行所提供示例的更好方式是使用我们的Rancher目录GeoServer堆栈。有关如何设置和配置Rancher环境的更多详细信息,请参见[***] -> Settings菜单添加我们的Rancher目录,URL:

https://github.com/kartoza/kartoza-rancher-catalogue

保存设置后,打开Rancher环境,从目录的“Kartoza”部分设置堆栈 - 您将看到列出的GeoServer。

如果要同步GeoServer设置和数据库备份(由堆栈中的夜间备份工具创建),使用Resilio sync创建两个读写密钥:

  • 一个用于数据库备份
  • 一个用于GeoServer媒体备份

注意: Resilio sync不是自由软件。个人免费使用。企业用户需要付费 - 详见其网站。

可尝试使用Syncthing或Seafile(免费选项)或Dropbox、Google Drive(其他商业产品)的类似方法。但这些产品都有一个限制:需要交互来注册应用程序或密钥。使用Resilio Sync可完全自动化该过程,无需用户干预。

镜像贡献

欢迎用户为丰富此服务做出贡献。我们遵循git原则,所有拉取请求应针对develop分支,以便测试,满意后推送到master分支。

支持

如果需要kartoza提供更多实质性帮助(因为我们在docker-geoserver上的工作和互动是无偿的),请考虑签订支持级别协议

credits

  • Tim Sutton (***)
  • Shane St Clair (***)
  • Alex Leith (***)
  • Admire Nyakudya (***)
  • Gavin Fleming (***)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 geoserver 镜像标签

docker pull docker.xuanyuan.run/sonoilmagopancione/geoserver:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull sonoilmagopancione/geoserver:<标签>

更多 geoserver 镜像推荐

georchestra/geoserver logo

georchestra/geoserver

georchestra
geOrchestra SDI的GeoServer模块
2 次收藏1万+ 次下载
7 天前更新
geonode/geoserver logo

geonode/geoserver

geonode
用于GeoNode的GeoServer镜像,提供地理空间数据发布与管理服务,支持在GeoNode环境中集成地图服务功能。
43 次收藏100万+ 次下载
10 天前更新
thinkwhere/geoserver logo

thinkwhere/geoserver

thinkwhere
GeoServer地理信息服务器Docker镜像,用于发布地图数据和提供空间服务,支持多种地理信息标准,实现便捷部署与地理空间服务快速搭建。
15 次收藏50万+ 次下载
9 个月前更新
ndscprm/geoserver logo

ndscprm/geoserver

ndscprm
CPRM定制的GeoServer地理空间数据服务器镜像,用于发布、管理和共享地理空间数据,支持OGC标准服务。
10万+ 次下载
21 天前更新
geosolutionsit/geoserver logo

geosolutionsit/geoserver

geosolutionsit
在Docker中运行GeoServer的镜像,基于Tomcat 9、JDK 11(Eclipse Temurin)和Ubuntu Jammy(22.04 LTS),支持数据目录持久化、环境变量配置、CORS、自定义字体及插件管理,提供灵活部署和运维能力。
16 次收藏10万+ 次下载
5 天前更新
oscarfonts/geoserver logo

oscarfonts/geoserver

oscarfonts
基于官方Tomcat镜像部署GeoServer的Docker镜像,用于提供地理信息数据发布和空间服务功能。
34 次收藏10万+ 次下载
1 个月前更新

查看更多 geoserver 相关镜像

轩辕镜像配置手册

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

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

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

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
sonoilmagopancione/geoserver
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.