暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

没苦硬吃---在docker环境安装PostgreSQL

原创 无心 2024-07-10
237

准备工作

运行docker的环境

云主机、虚拟机等都可以。

docker镜像准备

centos7镜像,执行下面命令拉取,现在dockerhub访问受限,如果拉取不了,添加一下其他镜像仓库再试试或者添加代理访问。

docker pull centos:7

运行docker,生成一个容器

docker run --name=mypg -e TZ=Asia/Shanghai -itd centos:7 # 说明:容器名称叫mypg,-e指定运行容器时采用的时区是上海时区。

至此,环境准备完成。下一步就是进去docker安装postgresql了。

安装postgresql

至于版本,可以根据自己的要求选择。我选择的是12.2。

进入docker环境

docker exec -it mypg bash

执行安装步骤

# 安装依赖包 yum -y install wget gcc make libicu-devel zlib gcc-c++ perl readline readline-devel zlib zlib-devel # 下载PG源码,并编译 wget https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.gz tar xzf postgresql-12.2.tar.gz mkdir /opt/pgsql cd postgresql-12.2 ./configure --prefix=/opt/pgsql make && make install # 创建postgres用户,并指定环境变量 useradd -m postgres echo "export PGDATA=/opt/pgsql/data" >> /home/postgres/.bash_profile echo "export PGHOME=/opt/pgsql" >> /home/postgres/.bash_profile echo "export PATH=\$PGHOME/bin:\$PATH" >> /home/postgres/.bash_profile # 创建数据目录 mkdir -p /opt/pgsql/data chown -R postgres:postgres /opt/pgsql/ # 初始化数据库 initdb -D /opt/pgsql/data # 启动数据库 pg_ctl start # 进入数据库 psql

注意事项

docker环境中的yum源如果无法使用,就自己配置一个,如:

vim /etc/yum.repo.d/my.repo [base] name=CentOS-$releasever enabled=1 failovermethod=priority baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever enabled=1 failovermethod=priority baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-$releasever enabled=1 failovermethod=priority baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7

这是云主机环境使用,如果是自己的vmare虚拟机可能提示无法解析mirrors.cloud.aliyuncs.com,此时,将mirrors.cloud.aliyuncs.com替换为mirrors.aliyun.com即可。

后记

如果想把本次安装的结果保存起来,下次直接拉取用就执行如下命令:

docker commit mypg mypg:12.2 # 解释:将mypg容器提交为一个新的镜像,镜像名是mypg,版本是12.2

下次使用

docker run --name mypg12 -e TZ=Asia/Shanghai -itd mypg:12.2

官方有自己的postgrsql镜像,使用docker自己安装主要是体验自己安装(没苦硬吃),如果不想自己安装,直接运行如下命令拉取官方的即可

docker pull postgres
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论