基于 docker linux 搭建 postgresql 环境
环境介绍Docker Linux CentOS7.6PG 12.6安装一些基础软件yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel libxslt-devel
·
环境介绍
Docker Linux CentOS7.6
PG 12.6
安装一些基础软件
yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-devel zlib-devel openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl-devel perl-Ext Utils* openldap-devel jadetex openjade bzip2 wget
下载 PG 源代码
mkdir -p /postgresql/{soft,pgsql,data,archive_log,running_log,script,backup}
cd /postgresql/soft
wget https://ftp.postgresql.org/pub/source/v12.6/postgresql-12.6.tar.gz
新建用户 pgsql 并编译安装
useradd pgsql
chown -R pgsql.pgsql /postgresql
su - pgsql
cd /postgresql/soft
tar zxvf postgresql-12.6.tar.gz
cd postgresql-12.6
./configure --prefix=/postgresql/pgsql && make -j8 world && make install-world
配置环境变量
cat >> ~/.bash_profile <<"EOF"
export LANG=en_US.UTF-8
export PS1="[\u@\h \W]\$ "
export PGDATA=/postgresql/data
export PGHOME=/postgresql/pgsql
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PATH=$PGHOME/bin:$PATH:.
export DATE=`date +"%Y%m%d%H%M"`
export PGUSER=postgres
export PGDATABASE=postgres
EOF
source ~/.bash_profile
初始化数据库
initdb -D $PGDATA -E UTF8 --locale=en_US.utf8 -U postgres
修改配置文件
cat >> $PGDATA/postgresql.conf <<"EOF"
listen_addresses = '*'
port=5432
logging_collector = on
log_destination = 'csvlog'
log_directory = '/postgresql/running_log'
log_filename = 'postgresql-%a.csv'
log_truncate_on_rotation = on
EOF
cat >> $PGDATA/pg_hba.conf << EOF
host all all 0.0.0.0/0 md5
host replication all 0.0.0.0/0 md5
EOF
启停数据库
[pgsql@centos76 data]$ pg_ctl status
pg_ctl: no server running
[pgsql@centos76 data]$ pg_ctl status
pg_ctl: no server running
[pgsql@centos76 data]$ pg_ctl start
waiting for server to start....2021-09-12 20:14:07.086 CST [15653] LOG: starting PostgreSQL 12.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
2021-09-12 20:14:07.086 CST [15653] LOG: listening on IPv4 address "0.0.0.0", port 5432
2021-09-12 20:14:07.086 CST [15653] LOG: listening on IPv6 address "::", port 5432
2021-09-12 20:14:07.089 CST [15653] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2021-09-12 20:14:07.104 CST [15653] LOG: redirecting log output to logging collector process
2021-09-12 20:14:07.104 CST [15653] HINT: Future log output will appear in directory "/postgresql/running_log".
done
server started
[pgsql@centos76 data]$ pg_ctl status
pg_ctl: server is running (PID: 15653)
/postgresql/pgsql/bin/postgres
[pgsql@centos76 data]$
连接数据库
[pgsql@centos76 data]$ psql
psql (12.6)
Type "help" for help.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres +
| | | | | postgres=CTc/postgres
(3 rows)
postgres=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 12.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
(1 row)
postgres=#
将容器导出为镜像
[root@node01 ~]# docker commit node01 lxm_centos76_pg:1.0
sha256:29e0af252ebfc1c2d505be78a025f7591b0dfa9fa0ee10527aeaecaa2c1e773e
[root@node01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lxm_centos76_pg 1.0 29e0af252ebf 4 seconds ago 1.51GB
lxm_centos76 1.0 7d50140fddb9 3 hours ago 675MB
centos 7.6.1810 f1cb7c7d58b7 2 years ago 202MB
查看镜像历史信息
[root@node01 ~]# docker history lxm_centos76_pg:1.0
IMAGE CREATED CREATED BY SIZE COMMENT
29e0af252ebf About a minute ago /usr/sbin/init 834MB
7d50140fddb9 3 hours ago /usr/sbin/init 473MB
f1cb7c7d58b7 2 years ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B
<missing> 2 years ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
<missing> 2 years ago /bin/sh -c #(nop) ADD file:54b004357379717df… 202MB
[root@node01 ~]#
更多推荐
所有评论(0)