美文网首页
使用Docker搭建Postgresql数据库

使用Docker搭建Postgresql数据库

作者: 海天启航 | 来源:发表于2021-04-22 19:30 被阅读0次

    使用Docker搭建Postgresql数据库,及设置远程访问

    一、拉取Postgresq镜像

    docker pull postgres

    二、构建镜像容器

    docker run -it --name postgress --restart always -e TZ='Asia/Shanghai' -e POSTGRES_PASSWORD='abc123' -e ALLOW_IP_RANGE=0.0.0.0/0 -v /home/postgres/data:/var/lib/postgresql -p 55435:5432 -d postgres

    –name : 自定义容器名称

    --restart always 此处设置容器在docker 重启时自动启动容器

    POSTGRES_PASSWORD:数据库密码

    -e ALLOW_IP_RANGE=0.0.0.0/0,这个表示允许所有ip访问,如果不加,则非本机 ip 访问不了, 此处这样设置下面的第五步就可以省略

    -e TZ='Asia/Shanghai' 设置时区,此处设置就不需要修改配置文件了,

    -v :进行映射,本地目录:容器内路径

    -p:映射端口,宿主机端口:容器端口

    最后是 镜像名称:端口号

    三、进入postgres容器

    docker exec -it postgres bash

    四、切换当前用户,再登录数据库

    将当前root切换成postgres

    su postgres

    输入用户名,密码再命令执行完后,再根据提示输入

    psql -U postgres -W

    输入密码,登录成功

    经过我的实践,docker pull的已经可以支持远程连接了,不需要在进行下面的步骤,请酌情考虑进行下面的步骤

    五、设置远程访问许可(很重要)

    共需要修改两个配置文件:pg_hba.conf、postgresql.conf,步骤分别如下:

    1、修改postgres配置文件

    首先,确认已进入容器,再按下列步骤操作:

    1)、修改pg_hba.conf文件

    A、用命令将postgres中的pg_hba.conf文件,复制到目录/home中

    docker cp postgres:/var/lib/postgresql/data/pg_hba.conf /home

    1

    B、用Xftp连接服务器,找到home下的pg_hba.conf,并用记事本打开及修改用户的访问权限(#开头的行是注释内容):

    # TYPE DATABASE  USER    CIDR-ADDRESS    METHOD

    # "local" is for Unix domain socket connections only

    local all    all              trust

    # IPv4 local connections:

    host  all    all    127.0.0.1/32    trust

    *host  all    all    0.0.0.1/0    md5*

    # IPv6 local connections:

    host  all    all    ::1/128      trust

    ####C、用命令将修改后的文件,替换掉原来的配置文件

    docker cp /home/pg_hba.conf postgres:/var/lib/postgresql/data

    2)、修改postgresql.conf文件

    如上述修改pg_hba.conf一样,先复件到/home文件夹中,然后打开编辑,最后替换掉原配置文件。

    定位到 #listen_addresses = ’localhost’,再将行开头都#去掉,并将行内容修改为 localhost 改成:*

    listen_addresses = ’*’

    相关文章

      网友评论

          本文标题:使用Docker搭建Postgresql数据库

          本文链接:https://www.haomeiwen.com/subject/orjfrltx.html