环境
Centos-7
Postgresql-10
docker-19
yum加载Postgresql
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y
查看Postgresql版本
yum list | grep postgresql
下载Postgresql镜像
#拉取得是版本10 docker pull postgres:10
创建宿主机映射sql目录
#这里我在var/lib/下创建 mkdir /var/lib/PostgreSqlData
构建镜像
#镜像名称修改(docker tag 镜像ID 自定义名称)
docker run --name postgres -v ~/var/lib/PostgreSqlData:/home/data/ -e POSTGRES_PASSWORD=****** -d -p ****:5432 postgres
--name : 是镜像name
-v :进行映射,本地目录:容器内路径
POSTGRES_PASSWORD:数据库密码
-p:映射端口,宿主机端口:容器端口
最后是自定义容器名
这里有个简便的命令
docker run -d --name postgresql2 --restart always -e POSTGRES_USER=abcuser -e POSTGRES_PASS=‘abc123‘ -e ALLOW_IP_RANGE=0.0.0.0/0 -v /docker_root/postgresql11-docker:/var/lib/postgresql -v /4T/tmp:/tmp/tmp -p 55433:5432 -t postgis
进入postgres容器
docker exec -it 容器ID bash
更新软件源
#更新软件源列表 apt-get update #安装vim apt-get -y install vim
配置远程访问
#切换到目录/var/lib/postgresql/data
cd /var/lib/postgresql/data
编辑postgresql.conf文件
#修改:在所有IP地址上监听,从而允许远程连接到数据库服务器: listening_address: ‘*‘
编辑pg_hba.conf文件
#添加或修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则: host all all 0.0.0.0/0 md5
修改编码格式
update pg_database set encoding = pg_char_to_encoding(‘UTF8‘) where datname = ‘basemap‘
查看pg版本
show server_version; # 或者 select version();
重启容器
docker restart 容器name
完成!
推荐github路径:postgres+postgis多版本部署DockerFile文件集:https://github.com/postgis/docker-postgis
原文:https://www.cnblogs.com/nhdlb/p/12517610.html