docker安装postgresql

查询postgresql镜像

docker search postgres

在这里插入图片描述

NAME                  --镜像名称
DESCRIPTION    --镜像描述
STARS                 --标星数
OFFICIAL             --官方的
AUTOMATED      -- 自动化

拉去镜像文件

docker pull postgres:12.3

制作容器

docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -v /home/postgresql/pgdata:/var/lib/postgresql/data -d postgres:12.3
run :创建并运行一个容器;
–name :指定容器名称。(容器名称 自己设置)
-e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password(password 自己设置)
-p :指定宿主机和 Docker 容器端口映射,冒号前为宿主机端口号,另一个是容器端口号。(Docker的容器默认情况下只能由本地主机访问,即A主机上的容器不能被B主机访问,所以要做端口映射)(端口号 自己设置)
-d postgres:12.3:指定使用postgres:12.3作为镜像

查看容器

在这里插入图片描述

进入容器创建角色

docker exec -it e43e247b1ed4 bash

切换用户

su postgres

在这里插入图片描述

创建sonar用户

在这里插入图片描述

链接

psql

在这里插入图片描述

创建sonar数据库

create database sonar owner=sonar;

在这里插入图片描述

查看数据库

\l

在这里插入图片描述
至此,sonar用户与数据库均已创建成功,并且数据库中的数据持久化在宿主机中,方便下次访问及做备份。

可视化链接工具

客户端连接(DBeaver)

链接一下

在这里插入图片描述
远程链接报错:
在这里插入图片描述

Connection to 120.48.54.67:5040 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
  Connection refused: connect
  Connection refused: connect

这语句翻译下,用户名密码是正确的,但是tcp/ip的连接失败了。这个解决方法其实就是去建立tcp/ip连接过程。
原因是宿主机并没有监听其他的主机接口,因此没有建立连接。

修改配置文件:
进入postgres容器内部 修改/var/lib/pgsql/9.6/data/postgresql.conf (也可以修改挂载目录里面的文件)
新增listen_addresses = ‘*’
#what IP address(es) to listen on
#默认 listen_addresses = ‘localhost’

在这里插入图片描述
链接成功!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值