使用docker创建postgres容器

1、在docker中拉取postgres镜像:docker pull postgres

2、使用docker镜像创建容器(重点):

#--name:自定义容器名称
#--restart always此处设置容器在docker重启时自动容器
POStGRES_PADDWORD设置数据库密码
#-e ALLOW_IP_PANGE=0.0.0.0/0表示允许所有ip访问,如果不加,则非本机ip访问不了,此处这样设置下面的第五步可以省略
#TZ='Asia/Shanghai'设置时区,此处设置则不需要修改配置文件了
#-p:映射端口,宿主机端口:容器端口
[root@localhost docker]docker run -it --name postgres01 --restart always -e TZ='Asia/Shanghai' -e POSTGRES_PASSWORD='postgres' -e ALLOW_IP_PANGE=0.0.0.0/0 -p 5432:5432 -d postgres
d71f3571df743c180bb07a3c7721485bb54f112268445bd286f7d7495b45835b
[root@localhost docker]# docker exec -it postgres01 bash
root@d71f3571df74:/#

3.进入容器,并且切换当前用户登录:j将当前root切换成postgres

#切换用户
root@d71f3571df74:/# su postgres
#登录用户和密码
postgres@d71f3571df74:/$ psql -U postgres -W
Password:
psql (14.5 (Debian 14.5-1.pgdg110+1))
Type "help" for help.

postgres=#

4.此时使用navicat连接postgres:测试连接

使用docker创建postgres容器_第1张图片

 5.到了目前位置,我们已经将postgres的服务创建完成,已经可以连接成功,以下内容是加强内容,如果连接成功就不需要进行下面的步骤

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

需要修改两个配置文件:pg-hba.conf、postgresql.conf,步骤为下:

5.1修改postgres配置文件

#将pg_hba.conf配置复制到宿主机目录下的/home中,该命令需要确保postgres中容器开启
[root@localhost docker]# docker cp postgres:/var/lib/postgresql/data/pg_hba.conf /home
[root@localhost docker]# cd /home
[root@localhost home]# ls
pg_hba.conf
#找到宿主机中复制的文件,修改配置文件
[root@localhost home]# vim pg_hba.conf

 使用docker创建postgres容器_第2张图片

修改后:

使用docker创建postgres容器_第3张图片 然后将该文将拷会容器中原来的位置:docker cp /home/pg_hba.conf postgres:/var/lib/postgresql/data

5.2修改postgresql.conf文件

同理,先复制到宿主机的home目录下,打开配置文件

使用docker创建postgres容器_第4张图片

 如果为listen_addresses='localhost'怎改为listen_addresses= '*'即可,同样修改后替换docker容器中的配置文件

 

你可能感兴趣的:(Linux,docker,容器,运维)