返回

docker安装postgresql

发布时间:2022-12-12 18:27:40 419

查询postgresql镜像

docker search postgres

docker安装postgresql_docker

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安装postgresql_postgresql_02

进入容器创建角色

docker exec -it e43e247b1ed4 bash

切换用户

su postgres

docker安装postgresql_容器_03

创建sonar用户

docker安装postgresql_postgresql_04

链接

psql

docker安装postgresql_数据库_05

创建sonar数据库

create database sonar owner=sonar;

docker安装postgresql_postgresql_06

查看数据库

\l

docker安装postgresql_容器_07

 

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

可视化链接工具

​​客户端连接(DBeaver)​​

链接一下

docker安装postgresql_docker_08

 

远程链接报错:

docker安装postgresql_postgresql_09

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’

docker安装postgresql_postgresql_10

 

链接成功!

 

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
linux下shell脚本启动jar包 2022-12-12 17:30:52