Linux系统使用Docker部署Geoserver并做数据挂载进行地图服务的发布和游览

文章目录

    • 1、前提环境
    • 2、拉取geoserver镜像
    • 3、创建数据挂载目录
    • 4、 运行容器
    • 5、 测试使用(发布shp数据为服务)
      • 5.1、创建工作区
      • 5.2、添加数据存储
      • 5.3、发布图层
      • 5.4、服务游览

1、前提环境

部署环境:Linux,Centos7 ,Docker环境
本文中使用的Linux环境主机配置是:

2核4GB centos7系统

2、拉取geoserver镜像

# 获取最新镜像
docker pull kartoza/geoserver# 获取指定版本镜像(本次采用)
docker pull kartoza/geoserver:2.20.3

在这里插入图片描述

3、创建数据挂载目录

# 统一管理Docker容器的数据文件,geoserver
mkdir -p -m 777 /dockerfile/geoserver# 创建geoserver的挂载数据目录
mkdir -p -m 777  /dockerfile/geoserver/data_dir# 创建geoserver的挂载数据目录,存放shp数据
mkdir -p -m 777  /dockerfile/geoserver/data_dir/shp

在这里插入图片描述

4、 运行容器

# 运行容器(取消换行执行)
docker run --name geoserver -d -p 8080:8080 -e GEOSERVER_ADMIN_USER=admin -e GEOSERVER_ADMIN_PASSWORD=geoserver -v /dockerfile/geoserver/data_dir:/data_dir kartoza/geoserver:2.20.3

参数说明:

–name geoserver #容器名称
-d #后台运行容器,并返回容器ID
-p 8080:8080 #容器端口:服务端口
-e GEOSERVER_ADMIN_USER=admin #指定管理用户
-e GEOSERVER_ADMIN_PASSWORD=geoserver #指定管理用户密码
-v /dockerfile/geoserver/data_dir:/data_dir #数据挂载地址 kartoza/geoserver:2.20.3 #镜像名称

在这里插入图片描述
注意

在服务器,安全组开放8080端口。

5、 测试使用(发布shp数据为服务)

  1. 访问GeoServer的web地址并登录
    http://服务器公网ip:8080/geoserver

在这里插入图片描述

登录账户名:admin
账户密码:geoserver

登录成功后的页面:
在这里插入图片描述

5.1、创建工作区

如下图所示,点击左侧菜单项【工作区】,然后点击【添加新的工作区】。

工作区:也可以称为工作空间,与命名空间类似,可以将其看做一个用于将相似的图层放在一起的容器。然后通过 工作区名称:图层名称 来引用图层。
注:两个不同的图层可以具有相同的名称,但它们需位于不同的工作区,例如:topp:states、sf:states。

在这里插入图片描述
如下图所示,输入【Name】和【命名空间 URI】(自定义即可),最后点击【保存】按钮即可。

注意事项: Name 输入项限制为10个字符,并且不能包含空格。URI 类似于 URL,不需要指向 Web 上的实际位置,它只是一个唯一标识符,建议使用与项目关联的 URL,这里模仿了官方文档的命名。另外,这里也推荐勾选下图中【默认工作区】选项。

在这里插入图片描述
最后,点击保存。

5.2、添加数据存储

如下图点击左侧菜单项【数据存储】,然后点击【添加新的数据存储】。

添加数据存储:即连接到包含栅格或矢量数据的数据源。注意:这里仅仅定义本次的连接参数,而不是为源中的每个数据集定义连接参数,因此在存储区中配置数据集之前,必须先注册该存储区——添加数据存储。

上传数据到linux的shp数据挂载目录
在这里插入图片描述

添加shp数据存储

在这里插入图片描述

如下图所示:工作区指向了设置的默认工作区,输入【数据源名称】(和数据名称一致即可),然后点击【Shapefile文件的位置】选项右侧的【浏览】,定位至数据的位置,字符集建议选择【GBK】,避免预览图层时标注出现中文乱码,最后点击【保存】按钮。
在这里插入图片描述

5.3、发布图层

点击上一步的【保存】按钮后,会跳转至下图所示的页面,点击【发布】按钮。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

点击上图中的【发布】选项卡,划拉至如下图所示的【WMS Settings】选项,如下图所示,默认样式为【point】,这里我们先不做修改,直接点击页面底部的【保存】按钮。

在这里插入图片描述

5.4、服务游览

预览图层如下图所示,点击左侧菜单项【图层预览】,这里我们可以点击表格的【名称】排序,方便我们快速定位,然后点击我们刚刚发布的图层右侧的【Openlayers】按钮即可预览。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


欲戴皇冠,必承其重;感谢支持…


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/70474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Innovus中快速获取timing path逻辑深度的golden脚本

在实际项目中我们经常会遇到一条timing path级数特别多,可能是一两页都翻不完。此时,我们大都需要手工去数这条path上到底有哪些是设计本身的逻辑,哪些是PR工具插入的buffer和inverter。 数字IC后端手把手培训教程 | Clock Gating相关clock …

Python爬虫实战:从零到一构建数据采集系统

文章目录 前言一、准备工作1.1 环境配置1.2 选择目标网站 二、爬虫实现步骤2.1 获取网页内容2.2 解析HTML2.3 数据保存 三、完整代码示例四、优化与扩展4.1 反爬应对策略4.2 动态页面处理4.3 数据可视化扩展 五、注意事项六、总结互动环节 前言 在大数据时代,数据采…

SpringBoot中实现限流和熔断功能

我们将使用Java的ScheduledExecutorService来实现一个简单的令牌桶算法(Token Bucket Algorithm),并结合一个自定义的服务类来处理第三方API调用。 1. 创建限流器 首先,创建一个简单的限流器类: import java.util.concurrent.*;public class SimpleRateLimiter {

如何使用Python快速开发一个带管理系统界面的网站-解析方案

如果你想用 Python 开发一个 管理系统界面 的网站,并且希望界面美观,可以考虑以下几个框架和库: 1. Streamlit(快速、简洁) 适合:数据分析、仪表盘、内部管理系统特点: 写法简单,类…

Git常见命令--助力开发

git常见命令: 创建初始化仓库: git 将文件提交到暂存区 git add 文件名 将文件提交到工作区 git commit -m "注释(例如这是发行的版本1)" 文件名 查看状态 如果暂存区没有文件被提交显示: $ git status On…

Java 前后端时间格式转换

在 Web 开发里,时间格式处理既常见又关键。由于前端和后端对时间的表示、处理方式存在差异,熟练掌握时间格式的转换方法就显得尤为重要。这篇文章会深入探讨 Java 前后端时间格式转换的相关知识,特别是 Java 时间转换的多种方式,其…

MySQL要点总结一

大纲 一.InnoDB的内存结构和更新机制 二.InnoDB的存储模型 三.并发事务原理 四.索引原理和索引优化 一.InnoDB的内存模型 1.SQL的执行流程 2.InnoDB的内存模型 3.Buffer Pool中的空闲缓存页与free链表 4.Buffer Pool中的脏页和flush链表 5.Buffer Pool通过LRU链表来淘…

常用网络工具分析(ping,tcpdump等)

写在前面 本文看下常用网络工具。 1:ping 1.1:用途 用于检验网络的连通性。 1.2:实战 在Linux环境中执行:ping www.sina.com.cn: [rootlocalhost ~]# ping www.sina.com.cn PING spool.grid.sinaedge.com (111.…

基于Flask的第七次人口普查数据分析系统的设计与实现

【Flask】基于Flask的第七次人口普查数据分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 基于Flask的人口普查可视化分析系统 二、项目界面展示 登录/注册 首页/详情 …

11.Docker 之分布式仓库 Harbor

Docker 之分布式仓库 Harbor Docker 之分布式仓库 Harbor1. Harbor 组成2. 安装 Harbor Docker 之分布式仓库 Harbor Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器,由 VMware 开源,其通过添加一些企业必需的功能特性,例…

Zookeeper应用案例-分布式锁-实现思路

以下是具体实现代码 第一步:注册锁节点 第二步:获取锁节点,如果自己是最小的节点,就获取权限 第三步:拿到锁就开始自己的业务逻辑 第四步:业务逻辑好了就要释放这把锁 第五步:重新注册监听&…

Elasticsearch7.1.1 配置密码和SSL证书

生成SSL证书 ./elasticsearch-certutil ca -out config/certs/elastic-certificates.p12 -pass 我这里没有设置ssl证书密码,如果需要设置密码,需要再配置给elasticsearch 在之前的步骤中,如果我们对elastic-certificates.p12 文件配置了密码…

Linux(ubuntu) GPU CUDA 构建Docker镜像

一、创建Dockerfile FROM ubuntu:20.04#非交互式,以快速运行自动化任务或脚本,无需图形界面 ENV DEBIAN_FRONTENDnoninteractive# 安装基础工具 RUN apt-get update && apt-get install -y \curl \wget \git \build-essential \software-proper…

蓝桥杯——lcd显示

一:复制文件 从官方参考文件中复制相关文件,Src中的lcd.c,Inc中的lcd.h,fonts.h复制到自己创建的文件中 二:lcd初始化 在lcd.h中找到四个初始化函数,将其写到main文件中 三:写lcd显示函数 在…

【C++游戏开发-五子棋】

使用C开发五子棋游戏的详细实现方案,涵盖核心逻辑、界面设计和AI对战功能: 1. 项目结构 FiveChess/ ├── include/ │ ├── Board.h // 棋盘类 │ ├── Player.h // 玩家类 │ ├── AI.h // AI类 │ └── Game.h // 游戏主逻辑 ├── src/ …

中兴G7615AV5

参考文献: G7615AV5 光猫新版固件通过修改备份配置文件固化Telnet 中兴7615AV5光猫配置指南 前言:(不如咸鱼30远程全权搞定,花小钱办大事)截至2025年2月22号,这个设备开启Telnet只能去咸鱼找别人远程开&…

常用设计模式(embeded Qt)

常用设计模式: 观察者模式(Observer Pattern) 应用场景:传感器数据更新、UI状态同步。实现方式:通过QT的信号槽机制(本质是发布-订阅模式)自动实现。例如:connect(sensor, &Sens…

侯捷 C++ 课程学习笔记:内存管理与工具应用

一、课程基础要求 首先强调了学习前应具备的基础知识。这些基础知识对于理解 C 的核心概念和编程技巧至关重要。 动态内存分配与使用: 理解动态内存分配的概念,掌握 new 和 delete 操作符的使用。 能够动态分配和管理内存,避免内存泄漏和非…

python: SQLAlchemy (ORM) Simple example using SQLite

领域层(Domain Laye):定义了 School 实体类和 SchoolRepository 抽象基类,明确了业务实体和数据访问的契约。 基础设施层(Infrastructure Laye):通过 SQLAlchemy 实现了 SchoolRepository 类&am…

fastadmin实现海报批量生成、邮件批量发送

记录一个海报批量生成、邮件批量发送功能开发,业务场景如下: 国外客户做观展预登记,工作人员通过后台,批量给这些观众生成入场证件并发送到观众登记的邮箱,以方便观众入场时快速进场。证件信息包含入场二维码、姓名&a…