Bootstrap

Linux centos8 docker中安装postgresql12.4及远程访问设置

centos 8.0 docker 安装postgresql 12.4 及远程连接设置

 

一、docker 安装 postgresql 12.4

1、拉取镜像

docker pull postgres:12.4

 

2、运行容器

docker run --name postgres -e POSTGRES_PASSWORD=123456 -e TZ=PRC -p 5432:5432 -v /data/docker/pg/data:/var/lib/postgresql/data -d postgres:12.4 
​

run:创建并运行一个容器; –name:指定创建的容器的名字; -e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password; -p 54321:5432,端口映射将容器的5432端口映射到外部机器的5432端口; -d postgres:12.4,指定使用postgres:12.4作为镜像;

-e TZ=PRC 时区-中国

-v来指定把postgres的数据目录 /data/docker/pg/data:/var/lib/postgresql/data 映射到/data/docker/pg/data

里面.

注意: postgres镜像默认的用户名为postgres,登陆口令为创建容器是指定的值。

 

启动docker服务

systemctl start docker
或者
service docker start

关闭docker服务

service docker stop

或者:

systemctl stop docker

查看 postgres 命令

docker ps 

 

查看 postgres 详细信息

docker inspect postgres 

 

进入容器、启动容器、重启容器命令

 docker exec -it  22ab1619682d  bash
docker start 22ab1619682d
docker restart  22ab1619682d

注:此处 22ab1619682d 为 docker ps 查看的ID,如图所示:

 

连接Postgresql

psql -U username -h ipaddress -d dbname

 

退出docker 容器命令

Ctrl-D

或:

~# exit

 

 

二、centos 8.0 docker 远程连接设置

1、进入容器,以管理员权限进入

 docker exec -u 0  -it  22ab1619682d  /bin/bash

2、修改密码

alter user postgres with password '123456';

 

 

3、修改配置文件

Ctrl+ D, 退出PostgresSql, 切换到 /var/lib/postgresql/data 目录,查看配置文件:

/var/lib/postgresql/data
ls 

 

 

(1)、修改pg_hba.conf文件

docker 中安装vim

apt-get install vim
apt-get update

 

再次执行

apt-get install vim

打开配置文件,在文件最后添加

host all all 0.0.0.0/0 md5

 

4、测试 postgresql 连接

su postgres

 

5、ctrl+d 退出,切换到宿主机 ,重启 docker 容器

docker restart  22ab1619682d

 

注意: 如果是阿里云服务器,需要在服务器后台开启安全组规则,才能进行远程访问:

 

 

 至此,docker 远程访问设置完毕,可使用远程数据库工具进行测试。

 

 

;