编写docker-compose.yml
version: '2'
services:
postgis:
image: postgis/postgis
ports:
- '5432:5432'
volumes:
- 'postgis_data:/var/lib/postgresql/data'
environment:
- 'POSTGRES_PASSWORD=123456'
pgweb:
image: dpage/pgadmin4
ports:
- "8081:80"
environment:
#
PGADMIN_DEFAULT_EMAIL: "xxxx@xxx.com"
PGADMIN_DEFAULT_PASSWORD: "xxx"
volumes:
- 'pgadmin_data:/var/lib/pgadmin'
restart: always
depends_on:
- postgis
volumes:
postgis_data:
driver: local
pgadmin_data:
driver: local
使用命令doker-compose up -d启动
使用浏览器访问http://localhost:8081访问pgAdmin,创建连接时数据库和用户名使用默认的postgres,同时地址栏不能使用localhost,需要使用docker路由地址,端口填写5432。docker查看路由地址方法
docker inspect <容器名>
根据postgis官网提示执行以下SQL
-- Enable PostGIS (as of 3.0 contains just geometry/geography)
CREATE EXTENSION postgis;
-- enable raster support (for 3+)
CREATE EXTENSION postgis_raster;
-- Enable Topology
CREATE EXTENSION postgis_topology;
-- Enable PostGIS Advanced 3D
-- and other geoprocessing algorithms
-- sfcgal not available with all distributions
CREATE EXTENSION postgis_sfcgal;
-- fuzzy matching needed for Tiger
CREATE EXTENSION fuzzystrmatch;
-- rule based standardizer
CREATE EXTENSION address_standardizer;
-- example rule data set
CREATE EXTENSION address_standardizer_data_us;
-- Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder;
完成扩展配置