centOS7安装指定版本的postgresql的docker镜像

我有一篇博文是讲在线状态下如何安装postgresql指定版本,以及具体如何配置https://blog.csdn.net/dap769815768/article/details/86474378,这里我讲一个使用docker镜像安装数据库的方法:

1.centos安装docker,如果网络接通,安装很简单,如果不通,参考我另一篇博文(https://blog.csdn.net/dap769815768/article/details/86473067)

yum install -y docker

2.启动docker

systemctl start docker

3.查询可用的docker镜像:

docker search postgres

centOS7安装指定版本的postgresql的docker镜像_第1张图片

4.我们选择docker.io/postgres这个星级最高的下载:

docker pull docker.io/postgres(这里如果不加版本号,就默认下载最新的,如果加了版本号docker pull docker.io/postgres:10,则是下载指定版本)

5.查看本机镜像:

docker image ls

下面的TAG为latest的是没有加版本号pull下来的镜像

6.启动容器,这里我们启动版本号为10的镜像,使用它的IMAGE ID来启动:

run代表启动容器

--name postgresql10表示将启动的容器命名为postgresql10

POSTGRES_PASSWORD=sa 表示给pg默认的用户postgres的密码设置为sa

5432:5432表示将机器的端口和容器的端口作映射

b62e41d8ddcc表示启动名为b62e41d8ddcc的镜像

如果想该容器随着docker的重启跟着重启的话,请加上--restart=always ,也就是下面这样

docker run --restart=always --name postgresql10 -e POSTGRES_PASSWORD=sa -p 5432:5432 -d b62e41d8ddcc

大多数情况下,启动数据库容器,都需要将数据卷挂载到容器外,这样,容器被删除了,数据也不会丢失:

docker run -v /home/pg10/data:/var/lib/postgresql/data --restart=always --privileged=true --name postgresql10 -e POSTGRES_PASSWORD=sa -p 5432:5432 897b33033d64

注意,这里要给权限--privileged=true,不然会提示失败。-v /home/pg10/data:/var/lib/postgresql/data表示将容器的数据文件挂载到Linux的/home/pg10/data目录下。

这里有个参数-d,这个参数的作用是从后台启动。如果不加,就是前台启动。

7.查看容器:

docker ps -a

 

可以看到我们的容器已经在启动中了。

查看容日日志:docker logs postgresql10。可以看到这个容器被启动时打印出来的相关日志。

使用该命令进入客户端:docker exec -it pg psql -U postgres

8.到这里,基本上pg的基础配置部分已经全部搞定了,把系统的防火墙关掉,然后尝试从外面访问启动好的数据库,如果不出意外,应该是成功的:

centOS7安装指定版本的postgresql的docker镜像_第2张图片

centOS7安装指定版本的postgresql的docker镜像_第3张图片

9.成功后尝试执行命令:CREATE EXTENSION IF NOT EXISTS "uuid-ossp":

centOS7安装指定版本的postgresql的docker镜像_第4张图片

表示pg的扩展也没问题

你可能感兴趣的:(centOS7安装指定版本的postgresql的docker镜像)