首页 > 其他分享 >RFS_03 在docker中安装配置GeoServer、PostGIS

RFS_03 在docker中安装配置GeoServer、PostGIS

时间:2024-05-30 13:22:17浏览次数:18  
标签:RFS 03 容器 端口 PostGIS nginx geoserver docker

操作描述:在Linux Ubuntu 20.04系统的Docker中安装PostGIS、GeoServer

(Ubuntu 20.04系统下安装Docker,参考如下:)

docker安装操作 - Preyer - 博客园

Docker 基础 - lqqgis - 博客园

1    安装Nginx

1-1    查看docker里面的软件,刚安装的Docker中没有任何镜像

docker images

1-2    拉取安装最新版本nginx

docker pull nginx

*PS:可以在官网查询docker支持的软件版本。网址为:

1-3    运行nginx

docker run -d nginx    # 运行nginx,-d意为后台运行

1-4    运行以下代码,检查nginx是否正常启动

docker ps    # 查看正在运行的容器,检查是否包含nginx服务

1-5    关闭nginx容器,开始下一步配置

docker stop <CONTAINER ID>or<NAMES>
docker rm <CONTAINER ID>or<NAMES>

已完成docker中的Nginx安装,但没有进行端口映射,无法直接访问。

1-6    开启用于开发的nginx容器

开启nginx容器,名称为nginx01。配置接口,80:80* 中前一个端口为云服务器80端口,后一个为nginx容器的80端口。

docker run --name nginx01 -p 80:80 nginx    # 前台运行nginx
docker run -d --name nginx01 -p 80:80 nginx    # -d表示后台运行nginx

请确认云服务器安全组中已经打开80端口,否则无法访问!

如果运行成功,可以通过IP地址:80看到“Welcome to Nginx”欢迎页面。

2    安装并配置PostGIS、GeoServer

2-1    通过离线镜像压缩包安装PostGIS、GeoServer
/root/ 路径下新建文件夹docker,将两个镜像压缩包 lqqgis_geoserver_2.23.0.tarlqqgis_postgis_pg-13.10.tar 上传至 /root/docker/

运行以下代码安装:

cd /root/docker/    # 转到镜像压缩包所在的路径下
docker load -i lqqgis_geoserver_2.23.0.tar    # 安装GeoServer(仅载入,不运行)
docker load -i lqqgis_postgis_pg-13.10.tar    # 安装PostGIS(仅载入,不运行)

检查docker镜像列表,是否成功安装PostGIS、GeoServer

docker images

2-2    开启PostGIS容器(只设置了端口和密码,如果要同时挂载路径,跳到2-4)

新开启运行Postgre容器,名称设置为pg01。配置接口,8432:5432中前一个端口为云服务器8432端口,后一个为nginx容器的5432端口。使用PostGIS默认账户,名称为postgres,密码为12345678

docker run -d --name pg01 -p 8432:5432 -e POSTGRES_PASSWORD="12345678" lqqgis/postgis:pg-13.10

2-3    进入pg01容器的内核(属于搞着玩儿,可以跳过)

挂载PostGIS容器的数据存储路径与服务器Ubuntu20.04系统的数据存储路径,进入pg01容器下的操作系统

docker exec -it 容器id /bin/bash    # 进入pg01容器的操作系统
cd /var/lib/postgresql/data    # 到PostGIS数据库存储数据的路径下

exitCtrl+C退出容器操作系统

2-4    开启PostGIS容器,并挂载文件存储路径

新开启运行PostGIS容器,名称设置为pg01。配置接口,8432:5432中前一个端口为云服务器8432端口,后一个为nginx容器的5432端口。使用PostGIS默认账户,名称为postgres,密码为12345678。

与2-2相比,增加了挂载文件存储路径,通过-v /root/projects/pg_data:/var/lib/postgresql/data这一句设置,将pg01容器内核root/projects/pg_data路径与云服务器系统的/root/projects/pg_data挂载。

docker run -d --name pg01 -e POSTGRES_PASSWORD="12345678" -v /root/projects/pg_data:/var/lib/postgresql/data -p 8432:5432 lqqgis/postgis:pg-13.10

2-5    开启GeoServer容器,并挂在文件存储路径
新开启运行GeoServer容器,名称设置为geoserver01。配置接口,8735:8080冒号前为云服务器8735端口,后一个为nginx容器的8080端口。使用GeoServer默认账户,名称为admin,密码为12345678。

docker run -d --name geoserver01 -p 8735:8080  -v /root/projects/geoserver_data:/var/lib/geoserver_data lqqgis/geoserver:2.23.0

通过IP地址:8735即可访问页面。

页面上显示Error 404 - Not Found

No context on this server matched or handled this request.

Contexts known to this server are:

点击Context Path下的/geoserver进入GeoServer管理页面

附录:常见操作及配置

参考文档:docker部署geoserver_geoserver docker-CSDN博客

# 命令说明
docker run
--name geoserver #容器名称
-d #后台运行容器,并返回容器ID
-p 8089:8089 #容器端口(对外):服务端口 geoserver默认启动的端口是8080
-e GEOSERVER_ADMIN_USER=admin #指定管理用户
-e GEOSERVER_ADMIN_PASSWORD=geoserver #指定管理用户密码
-v /mydata/geoserver/data_dir:/data_dir #数据挂载地址
kartoza/geoserver #镜像名称

#我配置的命令行
docker run --name geoserver01 -d -p 8735:8080 -e GEOSERVER_ADMIN_USER=geoserver -e GEOSERVER_ADMIN_PASSWORD=12345678 -v /root/projects/geoserver_data:/var/lib/ lqqgis/geoserver:2.23.0

开机自动启动geoserver

docker update geoserver --restart=always

常用操作:

ss -tuln    # 查看所有端口状态
docker ps    # 查看正在运行的容器
docker ps -a    # 查看所有的容器,包括没有运行的
docker stop <CONTAINER ID>or<NAMES>    # 通过<CONTAINER ID>或<NAMES>停止运行容器
docker rm <CONTAINER ID>or<NAMES>     # 通过<CONTAINER ID>或<NAMES>移除容器
* 移除容器前需要确认已经停止运行

标签:RFS,03,容器,端口,PostGIS,nginx,geoserver,docker
From: https://www.cnblogs.com/preyer/p/18222150

相关文章

  • Navicat远程连接阿里云mysql失败,提示2013,2003错误解决方案
    前情提要总结下使用过的各种解决方式,如修改cnf,修改安全组端口,修改防火墙,总有一款方案适合你(如果使用其他方式解决请评论补充,感谢)环境:本文全部使用yum方式安装服务,使用阿里云服务器centos7下文需要格外注意手动配置端口的部分确认已安装好mysql服务(yum安装)......
  • 03 CSS
    一基础选择器1、CSS写在style标签中,可以用选择器{属性名:属性值;}设置 2、插件安装ErrorLens可以帮助判断css是否正确3、CSS引入方式<linkrel="stylesheet"href="./h2.css"/>;行内;头部4、标签选择器使用标签名作为选择器-》选中同名标签设置相同的样式5、类选择......
  • 【leetcode——栈的题目】——1003. 检查替换后的词是否有效python
    题目:给你一个字符串 s ,请你判断它是否 有效 。字符串 s 有效 需要满足:假设开始有一个空字符串 t="" ,你可以执行 任意次 下述操作将 t 转换为 s :将字符串 "abc" 插入到 t 中的任意位置。形式上,t 变为 tleft+"abc"+tright,其中 t==tleft+trigh......
  • 【leetcode每日一题】——2903. 找出满足差值条件的下标 I——python
    给你一个下标从 0 开始、长度为 n 的整数数组 nums ,以及整数 indexDifference 和整数 valueDifference 。你的任务是从范围 [0,n-1] 内找出  2 个满足下述所有条件的下标 i 和 j :abs(i-j)>=indexDifference 且abs(nums[i]-nums[j])>=valueDi......
  • #[NOIP2003 普及组] 乒乓球
    传送锚点:https://www.luogu.com.cn/problem/P1042题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中\(11\)分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓......
  • Proteus8.0仿真应用设计(九十三)基于STM32CubeMX、STM32F103C8T6 、FREERTOS、MCP4151(SP
    一、简介:        MCP4151是一款SPI接口的7位数字电位器。二、主要特性:电阻值(欧姆)5kΩ、10kΩ、50kΩ、100kΩ抽头数257接口类型SPI通道数1供电电压1.8V~5.5V精度±20%温度系数(典型值)150ppm/℃工作温度-40℃~+125℃三、引脚定义:四、内部逻辑框图:五、时序图......
  • 【Python Cookbook】S01E03 找到最大最小的N个元素
    目录问题解决方案讨论问题如何在一个集合中找到最大或最小的N个元素?解决方案使用heapq模块。pipinstallheapqheapq模块中,有nlargest()以及nsmallest()两个函数:importheapqnums=[1,8,23,2,7,-4,8,18,42,37]print(heapq.nlargest(3,n......
  • openEuler 20.03 LTS安装单病种前置机
    #下载配置文件包cd/optwgethttps://interface-soft.oss-cn-hangzhou.aliyuncs.com/manual-package/config.tar.gz解压配置包,包含mongodb.conf,nginx.conf,mongod.confsudoyuminstalltar-ytar-xzfconfig.tar.gz服务器初始化关闭服务器防火墙systemctlstop......
  • 前端学习-Dart官方文档学习-003-模式匹配
    官方文档链接简介匹配和解构//匹配consta='a';constb='b';switch(obj){//Listpattern[a,b]matchesobjfirstifobjisalistwithtwofields,//thenifitsfieldsmatchtheconstantsubpatterns'a'and'b'.c......
  • 59天【代码随想录算法训练营34期】第十章 单调栈part02( ● 503.下一个更大元素II ●
    503.下一个更大元素IIclassSolution:defnextGreaterElements(self,nums:List[int])->List[int]:dp=[-1]*len(nums)stack=[]foriinrange(len(nums)*2):while(len(stack)!=0andnums[i%len(nums)]>nums[stack[-1......