准备工作
运行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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




