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 远程访问设置完毕,可使用远程数据库工具进行测试。