创建文件夹
mkdir -p /home/docker/postgis
创建docker-compose.yaml文件
不要挂在数据卷,直接启动
vi docker-compose.yaml
将一下内容贴入
version: '3'
services:
postgres:
restart: always
image: postgis/postgis:12-master
container_name: postgis12_master
volumes:
# - ./data/pgdata/:/var/lib/postgresql/data/pgdata/
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime
environment:
POSTGRES_USER: postgres
POSTGRES_DB: postgres
POSTGRES_PASSWORD: otitan@123
ALLOW_IP_RANGE: 0.0.0.0/0
PGDATA: /var/lib/postgresql/data/pgdata
ports:
- "5432:5432"
pgadmin:
restart: always
image: dpage/pgadmin4:latest
container_name: pgadmin_postgis12
environment:
PGADMIN_DEFAULT_EMAIL: admin@163.com #在此填写pgAdmin登录账户邮箱
PGADMIN_DEFAULT_PASSWORD: admin #在此填写pgAdmin密码
ports:
- "5050:80"
启动容器
docker-compose up -d
复制容器数据导宿主机
docker cp postgis12_master:/var/lib/postgresql/data/pgdata/ ./data/
重启容器
将docker-compose.yaml文件中的数据源注释去掉,停止容器重新启动。
# 停止容器
docker-compose down
# 将docker-compose.yaml文件中的数据源注释去掉(自行操作)
# 启动容器
docker-compose up -d
访问pgAdmin
地址:
http://192.168.0.xxx:5050/
用户名:admin@163.com
密码:admin
如果你在
docker-compose.yaml
中修改了用户名、密码,请以docker-compose.yaml
中填写为准
登录后创建postgreSQL
连接即可。
说明:如果使用pgAdmin
无法连接postgreSQL
服务,请检查宿主机防火墙