CentOS中使用Docker来部署Postgresql

场景

CentOS7中Docker的安装与配置:

CentOS7中Docker的安装与配置_霸道流氓气质的博客-CSDN博客

在上面安装好Docker之后,怎样使用docker部署Postgresql数据库。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi 
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、搜索postgresql镜像

docker search postgres

 

2、拉取镜像

docker pull postgres

 

3、创建需要映射的数据卷目录

到对应目录下

mkdir postgresql

4、启动容器

docker run --name postgresForFzysV2 --restart=always -e POSTGRES_PASSWORD=123! -p 5432:5432 -v /home/fzysV2/postgresql:/var/lib/postgresql/data -d postgres

--name postgresForFzysV2 :指定容器名

 --restart=always :设置总是自动重启

-e POSTGRES_PASSWORD=123! :设置密码为123!

-p 5432:5432 :端口映射

-v /home/fzysV2/postgresql:/var/lib/postgresql/data :数据卷映射

 

5、查看启动日志

docker logs postgresForFzysV2

 

6、连接测试

 

步骤如下: 1. 创建一个基于CentOSDocker镜像,可以使用以下命令: ``` FROM centos:latest MAINTAINER yourname <youremail@example.com> ``` 2. 安装PostgreSQL 12,并配置主备集群或单机部署。可以使用以下命令: ``` RUN yum -y update \ && yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm \ && yum -y install postgresql12-server postgresql12-contrib \ && /usr/pgsql-12/bin/postgresql-12-setup initdb \ && systemctl enable postgresql-12 \ && systemctl start postgresql-12 ``` 3. 配置主备集群或单机部署。可以使用以下命令: ``` RUN echo "host replication all 0.0.0.0/0 md5" >> /var/lib/pgsql/12/data/pg_hba.conf \ && echo "wal_level = replica" >> /var/lib/pgsql/12/data/postgresql.conf \ && echo "max_wal_senders = 5" >> /var/lib/pgsql/12/data/postgresql.conf \ && echo "wal_keep_segments = 32" >> /var/lib/pgsql/12/data/postgresql.conf \ && echo "hot_standby = on" >> /var/lib/pgsql/12/data/postgresql.conf \ && systemctl restart postgresql-12 ``` 4. 构建Docker镜像。可以使用以下命令: ``` docker build -t yourname/postgresql12 . ``` 5. 运行Docker容器。可以使用以下命令: ``` docker run -d -p 5432:5432 --name postgresql12 yourname/postgresql12 ``` 其,-d表示在后台运行容器,-p表示将容器的5432端口映射到主机的5432端口,--name表示命名容器。 6. 验证PostgreSQL是否已安装并正在运行。可以使用以下命令: ``` docker ps ``` 此命令将列出正在运行的容器。 7. 进入已运行的容器并连接到PostgreSQL。可以使用以下命令: ``` docker exec -it postgresql12 bash su - postgres psql ``` 此命令将进入容器并以postgres用户身份连接到PostgreSQL。 8. 验证是否已连接到PostgreSQL。可以使用以下命令: ``` \l ``` 此命令将列出所有数据库。 9. 完成!您已成功制作了一个支持主备集群或单机部署PostgreSQL 12 Docker镜像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霸道流氓气质

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值