FROM centos:7

# 1、创建目录
RUN mkdir -p /opt/soft /opt/env /usr/pg12.10/pgdata /usr/pg12.10/logs
RUN yum install -y readline-devel zlib* gcc-c++ make

# 2、安装wget
# wget 离线安装 下载wget文件地址 http://mirrors.163.com/centos/7/os/x86_64/Packages/
# 下载后放到dockerfile同一个目录下
COPY wget-1.14-18.el7_6.1.x86_64.rpm /opt/soft

RUN rpm -ivh /opt/soft/wget-1.14-18.el7_6.1.x86_64.rpm --replacepkgs

#安装postgresql 下载之后放入 dockerfile同目录下,当然也可以wget下载
#RUN wget https://ftp.postgresql.org/pub/source/v12.10/postgresql-12.10.tar.gz -P /opt/env/
COPY postgresql-12.10.tar.gz /opt/soft
RUN tar -zxvf /opt/soft/postgresql-12.10.tar.gz -C /opt/env/
RUN  cd /opt/env/postgresql-12.10/ && ./configure --prefix=/usr/pg12.10 && make && make install


# 添加用户
RUN adduser postgres && usermod -g postgres postgres

#修改权限
RUN chgrp postgres /usr/pg12.10 -R && chown postgres /usr/pg12.10 -R
# 切换用户
USER postgres
# 初始化数据库和配置
RUN /usr/pg12.10/bin/initdb -D /usr/pg12.10/pgdata -U postgres
RUN echo "host all all 0.0.0.0/0 md5" >> /usr/pg12.10/pgdata/pg_hba.conf
RUN echo "listen_addresses='*'" >> /usr/pg12.10/pgdata/postgresql.conf
RUN /usr/pg12.10/bin/pg_ctl -D /usr/pg12.10/pgdata/ start  && /usr/pg12.10/bin/psql --command "ALTER USER postgres WITH PASSWORD '369url';"

#启动服务
CMD ["/usr/pg12.10/bin/postgres", "-D", "/usr/pg12.10/pgdata", "-c", "config_file=/usr/pg12.10/pgdata/postgresql.conf", "-p", "5432"]


 

最后修改于 2023-03-23 22:34:11
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇