docker 安装 geoserver

news2024/9/29 11:40:31

docker 安装 geoserver

文章目录

  • docker 安装 geoserver
      • 一、准备工作
      • 二、创建容器
      • 三、安装插件
        • 3.1 插件下载
        • 3.2 将插件拷贝进容器
        • 3.3 创建新镜像
      • 四、配置 nginx 代理

一、准备工作

# 获取最新镜像
docker pull kartoza/geoserver
#创建数据持久化目录
/usr/local/application/geoserver/data_dir

#授权
chmod 777 -R /usr/local/application/

二、创建容器

docker run \
--name geoserver \
-d \
-p 8090:8080 \
--restart always \
-e GEOSERVER_ADMIN_USER=admin \
-e GEOSERVER_ADMIN_PASSWORD=geoserver \
-e GEOSERVER_DATA_DIR=/opt/geoserver/data_dir \
-v /usr/local/application/geoserver/data_dir:/opt/geoserver/data_dir \
kartoza/geoserver

容器启动后,在浏览器中访问 服务器ip:8090/geoserver,访问成功效果如下

三、安装插件

​ 如果通过docker部署的geoserver中缺失部分插件(mysql 等),那么可以去官网下载对应版本的插件,再将插件解压到 geoserver/WEB-INF/lib 目录下,重启容器,即可实现插件加载。

3.1 插件下载

​ 到官方插件下载地址,确定自己GeoServer的版本,找到插件列表中对应插件(例如MySQL)即可下载

下载完成后,解压缩,将jar文件拷贝到GeoServer/WEB-INF/lib中

3.2 将插件拷贝进容器

​ 将下载的插件解压后,可以看到对应的jar包。然后将插件所有jar包,拷贝进插件默认安装目录下即可。可以通过 find 命令,查找 WEB-INF 关键字所在目录

find . -type d -name WEB-INF
find: ‘./etc/ssl/private’: Permission denied
find: ‘./proc/tty/driver’: Permission denied
find: ‘./proc/1/map_files’: Operation not permitted
find: ‘./proc/8442/map_files’: Operation not permitted
find: ‘./proc/8465/map_files’: Operation not permitted
find: ‘./root’: Permission denied
./usr/local/tomcat/webapps/geoserver/WEB-INF
./usr/local/tomcat/webapps/ROOT/WEB-INF
./usr/local/tomcat/webapps/docs/WEB-INF
./usr/local/tomcat/webapps/docs/appdev/sample/web/WEB-INF
./usr/local/tomcat/webapps/examples/WEB-INF
./usr/local/tomcat/webapps/host-manager/WEB-INF
./usr/local/tomcat/webapps/manager/WEB-INF
find: ‘./var/cache/apt/archives/partial’: Permission denied
find: ‘./var/cache/ldconfig’: Permission denied

从上述查找结果中,看到 /usr/local/tomcat/webapps/geoserver/WEB-INF目录,即为geoserver部署主要目录。接下来只需要将插件拷贝进该目录下的lib 目录即可。

#通过docker cp 命令,将宿主机上文件拷贝进容器。
docker cp /宿主机目录/插件jar 容器id:/usr/local/tomcat/webapps/geoserver/WEB-INF/lib
3.3 创建新镜像

​ 容器安装完插件后,可以基于容器,创建新镜像,后期基于该镜像创建的容器,都将拥有该插件。

#语法 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

#基于容器e218edb10161,生成新镜像runoob/ubuntu:v2
runoob@runoob:~$ docker commit -m="has update" -a="lifp" e218edb10161 runoob/ubuntu:v2

四、配置 nginx 代理

​ 如果nginx部署在内网服务器,若有互联网ip或者域名,可以用来配置代理的话,那么可以进行如下配置。假如现有域名 www.test.com,该域名80端口已映射到某台机器的端口,那么在该端口所在nginx中,可以进行如下配置,来实现,通过访问 http://www.test.com/geoserver 连接,可以直接访问到内网服务器10.15.11.18 中部署的geoserver应用。

#geoserver代理
location ^~/geoserver/ {
    proxy_pass http://192.168.11.18:8090/geoserver/;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

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

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

相关文章

大模型RAG实战|文本转换:文本分割器、中文标题增强与高级提取管道

ThinkRAG大模型RAG实战系列文章,带你深入探索使用LlamaIndex框架,构建本地大模型知识库问答系统。本系列涵盖知识库管理、检索优化、模型本地部署等主题,通过代码与实例,讲解如何打造生产级系统,实现本地知识库的快速检…

抽象代数精解【8】

文章目录 希尔密码矩阵矩阵基本概念行列式基本概念特殊矩阵关于乘法运算构成群 加解密原理密钥加密函数解密函数 Z 26 上的运算( Z 256 与此类似) Z_{26}上的运算(Z_{256}与此类似) Z26​上的运算(Z256​与此类似&…

一篇模块化RAG之最新全面系统性综述

RAG访问外部知识库增强了LLMs处理知识密集型任务的能力,随着应用场景需求的增加,RAG系统变得更加复杂。传统的RAG依赖于简单的相似性检索,**面对复杂查询和变化多端的文本块时表现不佳:**对查询的浅层理解、检索冗余和噪声。 朴素…

Elasticsearch未授权访问漏洞

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索】擎,基于RESTful web:接口。Elasticsearch:是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。Elasticsearch的增别改…

Spring File Storage(文件的对象存储)框架基本使用指南

概述 本文仅作为快速入门,深入学习及使用详见官网 云存储 在开发过程当中,会使用到存文档、图片、视频、音频等等,这些都会涉及存储的问题,文件可以直接存服务器,但需要考虑带宽和存储空间,另外一种方式…

扑翼无人机仿生鸟技术详解

1. 仿生学原理 扑翼无人机仿生鸟技术,顾名思义,是受到自然界鸟类飞行机制的深刻启发而发展起来的一种无人机技术。仿生学原理在此技术中扮演着核心角色,它通过研究鸟类的翅膀结构、飞行姿态、气动效率、能量转换等生物学特性,力求…

Python酷库之旅-第三方库Pandas(066)

目录 一、用法精讲 261、pandas.Series.dt.year属性 261-1、语法 261-2、参数 261-3、功能 261-4、返回值 261-5、说明 261-6、用法 261-6-1、数据准备 261-6-2、代码示例 261-6-3、结果输出 262、pandas.Series.dt.month属性 262-1、语法 262-2、参数 262-3、功…

Hibernate Validator 数据校验框架

文章目录 一、数据校验框架简介1、JSR(Java 规范提案):Bean Validation2、javax.validation.api3、jakarta.validation.api 二、SpringBoot基础使用1、校验get请求参数2、校验post请求参数3、常用注解4、分组校验5、自定义校验规则5、校验模式6、全局异常处理 一、数…

LabVIEW远程开发

LabVIEW远程开发是指在不同地点的开发者通过网络协同工作,共同开发、调试和维护基于LabVIEW的应用程序。这种开发模式适用于分布式团队、远程办公和全球化项目合作,能够有效利用不同地区的人才和资源。以下是LabVIEW远程开发的详细介绍: 1. 远…

elasticsearch的使用(二)

DSL查询 Elasticsearch的查询可以分为两大类: 叶子查询(Leaf query clauses):一般是在特定的字段里查询特定值,属于简单查询,很少单独使用。 复合查询(Compound query clauses)&am…

C语言程序设计-[4] 算法和程序结构

1、算法 一个程序至少包含两个方面:数据结构和算法,算法就是为解决一个问题而采取的方法和步骤,即对程序操作步骤的描述。 算法有一定的评价标准和表示方法,其中流程图法和N-S结构图法是本章需要介绍的两种方法。 (…

校园商铺管理小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商家管理,商品类型管理,商品信息管理,在线咨询管理,咨询回复管理,交流论坛,系统管理 微信端账号功能包括&a…

LabVIEW工件表面瑕疵识别系统

开发了一种利用LabVIEW和IMAQ Vision视觉工具进行工件表面瑕疵识别的系统。该系统通过图像处理技术识别并分类工件表面的裂纹、划痕等缺陷,从而提升生产线的分拣效率和产品质量。 项目背景 工业生产中,工件表面的缺陷直接影响产品质量和生产效率。传统人…

Web开发-html篇-下

这篇是接着上篇的内容&#xff0c;接着介绍html的其他标签及属性的用法&#xff0c;感兴趣的可以从我的html上篇看起 1. 超链接示例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport&…

打造干净的Git历史:本地仓库整理操作详解

让你的Git提交如行云流水&#xff1a;本地仓库整理指南 一、背景二、整理上一次提交三、整理多次提交四、注意事项五、总结 一、背景 为什么需要本地仓库整理操作呢&#xff1f; 因为本地仓库提交到远程仓库是无法撤回的&#xff0c;只能是从远端仓库拉取数据到本地&#xff0…

安装ubuntu server24.04系统

0.写在前面 Legacy和UEFI比较legacyUEFI定义基于BIOS的传统引导模式新一代的系统引导模式兼容性较好&#xff0c;支持多数系统主要支持64位系统&#xff0c;对旧版本系统支持较差磁盘分区MBR,最大2.2TB&#xff0c;最多4个主分区GPT&#xff0c;最大16TB&#xff0c;理论上无分…

临床试验设计的干预、受试者和结果指标

临床试验是医学研究中至关重要的一环。通过科学设计和严格实施的临床试验&#xff0c;我们能够系统地评估新药、新疗法以及其他医学干预措施的安全性和有效性。临床试验的设计需考虑多个因素&#xff0c;其中干预、受试者和结局是三大关键要素。本文将详细探讨这些要素在临床试…

基于Jeecgboot3.6.3的vue3版本的流程中仿钉钉流程的鼠标拖动功能支持

因为这个项目license问题无法开源&#xff0c;更多技术支持与服务请加入我的知识星球。 1、因为原先仿钉钉流程里不能进行鼠标拖动来查看流程&#xff0c;所以根据作者提供的信息进行修改&#xff0c;在hooks下增加下面文件useDraggableScroll.ts import { ref, onMounted, on…

【Python】操作数据库

一、数据库编程接口 为了对数据库进行统一的操作&#xff0c;大多数语言都提供了标准化的数据库接口&#xff08;API&#xff09;。数据库提供了接口&#xff0c;Python定义了规范&#xff08;包括数据操作的对象、函数等&#xff09;&#xff0c;通过Python定义的对象就能直接…

对称加密 和 非对称加密

对称加密 和 非对称加密 文章目录 对称加密 和 非对称加密对称解密——异或运算非对称解密——RSA算法问题RSA算法社会地位缺点 PS&#xff1a;RSA算法的攻击方式 如果对你有帮助&#xff0c;就点赞收藏把&#xff01;(&#xff61;&#xff65;ω&#xff65;&#xff61;)&am…