通过容器化部署PostGIS,可以快速搭建空间数据库环境,简化配置流程,并确保环境一致性。 本文档详细介绍了如何使用Docker容器化部署PostGIS,包括环境准备、镜像拉取、容器部署、功能测试、生产环境建议及故障排查等内容。 所有操作步骤均经过验证,适用于各类基于PostGIS的空间数据应用场景。环境准备Docker环境安装在开始部署前,需要先安装Docker环境。 官方文档https://docs.docker.comDockerHub-postgis/postgishttps://hub.docker.com/r/postgis/postgis总结本文详细介绍了 PostGIS的Docker容器化部署方案,从环境准备、镜像拉取、容器部署到功能测试,提供了完整的操作指南。
PostGIS特性 1、PostGIS支持所有的空间数据类型,这些类型包括:点(POINT)、线(LINESTRING)、多边形(POLYGON)、多点 (MULTIPOINT)、多线(MULTILINESTRING PostGIS支持所有的对象表达方法,比如WKT和WKB。 2、PostGIS支持所有的数据存取和构造方法,如GeomFromText()、AsBinary(),以及GeometryN()等。 3、PostGIS提供简单的空间分析函数(如Area和Length)同时也提供其他一些具有复杂分析功能的函数,比如Distance。 4、PostGIS提供了对于元数据的支持,如GEOMETRY_COLUMNS和SPATIAL_REF_SYS,同时,PostGIS也提供了相应的支持函数,如AddGeometryColumn和DropGeometryColumn 6、PostGIS提供了空间操作符(如Union和Difference)用于空间数据操作。 比如,Union操作符融合多边形之间的边界。
安装 ubuntu下在安装好PostgreSQL的基础下用apt install postgis即可。 | 2.2.1 | | PostGIS SFCGAL functions postgis | 2.2.1 postgis_topology | 2.2.1 | | PostGIS topology spatial types and functions postgis_tiger_geocoder | 2.2.1 | | PostGIS tiger geocoder and reverse geocoder PostGIS 2.0 Manual PostGIS 在 O2O应用中的优势
GitHub postgis/postgis PostGreSQL(三)PostGIS PostGreSQL(四)PostGIS-空间数据存储 PostGreSQL(五)PostGIS-常用函数 PostGreSQL(六)PostGIS-空间连接和空间索引 PostGreSQL(七)PostGIS-几何图形创建函数 PostGreSQL(八)PostGIS-图形有效性和简单性 PostGreSQL (九)PostGIS-几何图形的相等 PostGreSQL(十)PostGIS-最近领域搜索 PostGreSQL(十一)PostGIS-其他函数 一、PostGIS介绍 PostGIS是一个空间数据库 PostGIS安装不仅依赖于PostgreSQL,还依赖于很多插件: GEOS几何对象库 GDAL栅格功能 LibXML2 LIBJSON PostGIS的特点如下: PostGIS支持所有的空间数据类型 PostGIS支持所有的对象表达方法,比如WKT和WKB。 PostGIS支持所有的数据存取和构造方法,如GeomFromText()、AsBinary(),以及GeometryN()等。
依赖 postgis官网:http://www.postgis.org/ postgis官方文档:http://postgis.net/documentation/ postgis用户手册:http:/ /download.osgeo.org/postgis/docs/postgis-3.1.1.pdf postgis源码编译:http://postgis.net/docs/postgis_installation.html postgis yum -y install postgis31_12.x86_64 postgis31_12-client.x86_64 postgis31_12-devel.x86_64 postgis31 _12-docs.x86_64 postgis31_12-gui.x86_64 postgis31_12-utils.x86_64 2、pgsql添加postgis拓展 注意:扩展的postgis依赖只对当前数据库有效 support (for 3+) CREATE EXTENSION postgis_raster; -- Enable Topology CREATE EXTENSION postgis_topology
通常,帮朋友部署 WordPress 的这个场景下,你可以找朋友开一台新的服务器,初始化一套 LAMP,直接把 WordPress 给 wget 进去,就可以在你的浏览器里完成配置了。 但是,前两天我需要在自己的服务器上部署一个 WordPress 服务。我这样的蒟蒻当然是无缘使用世界上最好的编程语言—— PHP 的啦。没有 PHP,还部署个屁的 WordPress。 所以就想到了—— Docker,用容器去把它装起来就好了嘛。 想到就动手做,接下来我们就看看怎么用 Docker 部署 WordPress。 为了方便,同时也多练习 Docker 的使用,我们干脆再拉一个 mysql 镜像,让整套服务完全在 docker 里运行: $ docker pull mysql:latest 注意,这篇文章写在 2020 (当然,我只是开一个简单的小服务,基本没人用,所以也就几乎没有安全风险,但您在部署的时候还是要花点时间认真考虑安全问题的) 接下来就是在您的浏览器访问 http://xxx:2020/wp-admin/
说明 在安装完Postgresql以后,打postgis扩展时,报错 ERROR: could not load library "/usr/pgsql-12/lib/rtpostgis.so": / file libcrypto.so.10 with link time reference 出现问题环境 centOS7.4 postgresql版本12,小版本号会随官方更新;遇到问题的是12.5 postgis2.5 推测原因 装机无数,postgis版本不变,而postgresql小版本会更新,所以推测是postgresql12.5版本引起的 查找问题 在rtpostgis报错路径下,可以找到文件 百度大佬说和 ln -s /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so.10 回到第8步验证,如果链接正确到1.0.2,再回到postgresql打postgis
博主还提供了另一种方式,每次发布只需要将打包后的dist内容放到linux主机目录即可,感兴趣的道友可以直接参考这一篇:docker 安装 nginx 发布Vue项目_苍穹之跃的博客-CSDN博客nginx nginx # 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 COPY dist/ /usr/share/nginx/html/ 第三步:安装nginx docker pull nginx docker run --name nginx -d -p 4030:80 nginx 访问4030端口看看是否安装成功。 第四步:linux上找个空目录放项目文件和Dockerfile 第五步:构建镜像,cd到Dockerfile目录下 docker build -t 取个镜像名称 . 第六步:运行容器 docker run --name 取个容器名称 -d -p 9020:80 上一步取的镜像名称 访问一下9020检查是否运行成功。
使用docker部署influxdb 生成默认config.yml docker run \ --rm influxdb:latest \ influxd print-config > config.yml /code/docker-influx/data:/var/lib/influxdb/data - /rssp/code/docker-influx/meta:/var/lib/indluxdb/meta - /rssp/code/docker-influx/wal:/var/lib/indluxdb/wal - /rssp/code/docker-influx/backup/bin:/home/backup - /rssp/code/docker-influx/backup/data:/tmp/backup/data - /rssp/code/docker-influx/backup/gz:/tmp/backup /gz - /etc/localtime:/etc/localtime:ro ports: - "8086:8086" restart: always docker pull influxdb docker-compose
通过函数st_isempty(geom)可以判断geometry是否为空,返回是布尔型的true或者false,具体使用如下:
③【Docker】Docker部署Nginx docker拉取nginx镜像: docker pull nginx 安装并启动nginx服务: docker run \ --restart always docker操作nginx常用命令: # 注意,Nginx是我安装启动时为这个服务取的名字,若名字不同请使用自己的服务名 #停止: docker stop Nginx #重启: docker restart Nginx #删除服务: docker rm Nginx #删除镜像: docker rmi Nginx #进入服务: docker exec -it Nginx /bin/bash Docker中有几个重要的概念 我们要使用Docker来操作镜像、容器,就必须要安装Docker。 Docker是一个CS架构的程序,由两部分组成: 服务端(server):Docker守护进程,负责处理Docker指令,管理镜像、容器等 客户端(client):通过命令或RestAPI向Docker
up -d 启动部署 在docker部署微服务项目: 1、使用dockerfile构建项目镜像 2、在docker使用生成镜像启动对应服务 服务名称 端口 comment-server 8002 house-server 8011 user-server 8000 esp-zuul 9000 esp-web 7000 comment-server ->user-server 部署用户服务 docker run -d house --link user-server:user -p 8011:8011 house/house 部署评论服务 docker run -d --name comment-server -- hostname comment --link user-server:user -p 8002:8002 house/comment 部署网关 docker run -d --name zuul-server link house-server:house --link user-server:user --link comment-server:comment -p 9000:9000 house/zuul 部署
1、部署前准备 1.检查服务器是否能访问外网 #检查外网连通性 ping 114.114.114.114 #检查DNS服务 ping baidu.com 如果外网通而DNS不通,则需要手动配置DNS ifcfg-ens开头的文件 #将名称换成实际文件名称 cat ifcfg-ens33 查看ONBOOT是否为yes,若不是yes,请修改成yes 5.关闭SElinux 此处内容需要评论回复后方可阅读 2、安装Docker
centos7部署docker 官方参考文档:https://docs.docker.com/engine/install/centos/ 在此提供自己的安装文件: 链接:https://pan.baidu.com /linux/centos/docker-ce.repo #安装docker引擎 sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin sudo docker run hello-world docker-compose安装 1、去下载docker-compose(docker与docker-compose版本要对应,具体的看官网,如果你嫌弃麻烦 v 图片 Windows 部署 docker 1、官网下载docker desktop(先别急安装):https://hub.docker.com 2、确认电脑是否开启hyper -v 搜索栏搜索: 是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作
目录 docker介绍 安装docker Ubuntu安装docker CentOS安装docker 通过脚本安装 拉取java环境 创建springboot项目 打包springboot到docker docker的核心思想是通过对应用的封装、分发、部署、运行生命周期进行管理,达到应用组件级别的“一次性封装,到处运行”。 安装docker 既然docker这么神奇,那我们如何安装docker呢?我们一起来走一下吧。 4.安装完成之后启动docker systemctl start docker 5.重启 systemctl restart docker 6.停止 systemctl stop docker 7.开机自启动 /test docker查看容器的日志 这说明我们已经springboot项目已经启动成功了,到这里docker部署springboot项目差不就结束了,但是你可能还有一个疑问,如果我想看控制台的日志怎么办呢
我的工程设置的本地端口也是8089 6. postman 和浏览器 顺利请求到 gentle 工程中的接口,说明部署成功 7. gentle 工程中接口实现: 部署完啦 ,走,出门溜达溜达,找点吃的去 ... -------------------------------- 2018.11.28 后记,每次改代码都要重新部署依旧很麻烦,于是写了个很简单的脚本,运行就部署。 新镜像构建成功\n\033[0m" # 删除原容器 docker rm -f gentle # 启动容器 docker run -d -p 8089:8089 --name gentle gentle echo -e "\033[32m\n后端工程部署完成\n\033[0m" 运行效果: postman 请求,返回的已经有新接口数据了。 另外:前端工程部署脚本见:前端 vue 工程 Docker 方式部署
概述 zabbix在docker官方的镜像源中,有维护zabbix公司官方的镜像,我们可以通过hub.docker.com进行下载,搭建docker环境下的zabbix,可以使我们的安装和部署更加快捷。 zabbix的docker镜像源 从这里 zabbix docker镜像源 我们可以打开看到zabbix官方在docker仓库里面维护的镜像源信息。 mysql数据库部署 在部署zabbix服务器前,需要提前部署mysql服务器并且创建好zabbix数据库以及用户 拉取mysql镜像 docker pull mysql 运行mysql服务器 docker ppassword zabbix < /tmp/mysql/images.sql mysql -uzabbix -ppassword zabbix < /tmp/mysql/data.sql zabbix服务器部署 172.17.0.2" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="password" -d zabbix/zabbix-server-mysql zabbix-front服务器部署
在之前我也写过一篇使用PostGIS进行数据处理的文章:用线裁剪面之-PostGIS版本。PostGIS本身是个空间数据库,其本身包含很多的函数。
为postgresql安装postgis扩展模块: 1、安装postgis 2、在指定数据库下执行下面语句 CREATE EXTENSION postgis 3、验证:执行下面语句不报错即可 SELECT
只要保存对应的 shell 文件, 备份好卷的内容, 当容器出现问题或者需要迁移活着需要重新部署时, 使用 shell 文件就可以快速完成。 run 命令: # PostGIS DB docker run \ --datach \ --publish 5432:5432 \ --name postgis \ --restart :postgis \ beginor/geoserver:2.11.0 在上面的例子中, web 服务器使用的是 geoserver , db 服务器使用的是 postgis , web 服务器依赖 :9.3 container_name: postgis hostname: postgis ports: - 5432:5432 volumes: 在部署时, 通常将 docker-compose.yml 文件放到一个目录, 表示一个应用, docker 会为这个应用创建一个独立的网络, 便于和其它应用进行隔离。