通过网盘分享的文件
链接: pan.baidu.com/s/11RvYHZSW…
提取码: rd9f
1、环境安装
1.1、上传镜像并加载
docker load < postgres9.6.tar
1.2、重新命名
docker tag 镜像id postgres:9.6
1.3、运行容器
docker run --name postgres -e TZ=Asia/Shanghai --privileged=true --restart always \
-e POSTGRES_USER=postgres -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 \
-e POSTGRES_PASSWORD=数据库密码 \
-v /docker/postgis/data:/var/lib/postgresql/9.6/main \
-d postgres:9.6
1.4、开放端口
firewall-cmd --add-port=5432/tcp --permanent
1.5、防火墙重载端口:
firewall-cmd --reload
或者使用重启防火墙
systemctl restart firewalld
1.6、查看开放端口
firewall-cmd --list-ports
2. 数据备份或恢复
2.1、进入docker容器
docker exec -it postgis bash
2.2、连接数据库
su postgres
2.3、连接psql
psql
2.4、创建数据库
create database test;
2.5、查看已存在的数据库
\l
2.6、进入数据库
\c test;
2.7、查看表
\d
2.8、退出psql
\q
2.9、退出容器
exit
2.10、备份数据库
2.10.1、备份命令
pg_dump -h localhost -p 5432 -U postgres -E utf8 -Ft -f /var/test.dump
2.10.2、拷贝到宿主机
docker cp postgres:/var/test.dump /home/
2.11、恢复数据库
2.11.1、拷贝备份文件到容器内
docker cp /home/test.dump postgres:/var/
2.11.2、进入容器
docker exec -it postgres bash
2.11.3、数据恢复
pg_restore -h localhost -p 5432 -U postgres -d test /var/test.dump