centos7 上搭建基于docker的postgis + flask

本文详细介绍了如何在CentOS7上使用Docker部署PostGIS数据库和Flask应用。首先,通过下载镜像和创建volume实现PostGIS数据持久化,接着配置并启动Flask应用,利用Dockerfile和环境变量实现应用的定制化。此外,还讲解了Docker网络模式,帮助读者理解如何在不同模式下访问容器服务。
摘要由CSDN通过智能技术生成

Centos7 离线安装Docker(简单二进制安装)记录了如何安装docker,本文在docker上部署了postgis +flask应用。

docker部署postgis

参考:

Set Up a PostGIS Database With Docker

https://github.com/postgis/docker-postgis

下载镜像:

docker pull postgis/postgis

(运行postgis镜像会使用到postgres镜像,联网环境下会自动pull下来)

数据持久化

作为数据库镜像,为了使数据持久化(容器删掉数据还在),需创建volume:

docker volume create pg_data

关于数据持久化,参考:

什么是Docker Volume?

Docker的持久化存储和数据共享(四) - 掘金

启动postgis容器

docker run --name postgis -e POSTGRES_PASSWORD=zzjz123 -d -p 5432:5432 -v pg_data:/var/lib/postgresql/data --restart=always postgis/postgis

参数说明:
-v pg_data:/var/lib/postgresql/data:加载本地volume到容器文件路径,容器数据库的内容会在本地pg_data中保存(/var/lib/postgresql/data是postgres镜像默认数据存储路径)。以后即使删掉容器重新运行新的数据库容器,只要仍如此加载volume,就能看到原先的数据。

--restart=always:设置该容器随docker虚拟机启动;

进入psql命令行

运行了数据库容器后,用以下命令连接数据库,可进入psql命令行:

docker run -it --link postgis:postgres --rm postgres \
    sh -c 'exec psql -h "$POSTGRES_PORT_5432_TCP_ADDR" -p "$POSTGRES_PORT_5432_TCP_PORT" -U postgres'

正常状态提示符为:

post
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值