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
关于数据持久化,参考:
启动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