通过dockerfile基于centosdocker镜像和postgresql12的离线安装包制作单机版的docker镜像
时间: 2024-05-12 19:19:25 浏览: 175
以下为制作单机版的docker镜像的Dockerfile:
```
# 基于centos镜像
FROM centos
# 安装必要的软件包
RUN yum install -y wget tar
# 创建安装目录
RUN mkdir -p /opt/postgresql
# 下载离线安装包
RUN wget https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -P /opt/postgresql
RUN rpm -ivh /opt/postgresql/pgdg-redhat-repo-latest.noarch.rpm
RUN yum install -y postgresql12-server postgresql12-contrib
# 初始化数据库
RUN /usr/pgsql-12/bin/postgresql-12-setup initdb
# 设置数据库密码为123456
RUN echo "host all all 0.0.0.0/0 md5" >> /var/lib/pgsql/12/data/pg_hba.conf
RUN echo "listen_addresses='*'" >> /var/lib/pgsql/12/data/postgresql.conf
RUN echo "password_encryption = md5" >> /var/lib/pgsql/12/data/postgresql.conf
RUN echo "password = 'md5c7a8d5a5b2ca20b1d0a7cfa6c71a56e2'" >> /var/lib/pgsql/12/data/pg_ident.conf
# 暴露数据库端口
EXPOSE 5432
# 启动数据库
CMD ["/usr/pgsql-12/bin/postgres", "-D", "/var/lib/pgsql/12/data", "-c", "config_file=/var/lib/pgsql/12/data/postgresql.conf"]
```
使用以下命令构建docker镜像:
```
docker build -t my-postgresql .
```
使用以下命令运行docker容器:
```
docker run -d -p 5432:5432 my-postgresql
```
现在,您可以使用以下命令连接到postgresql数据库:
```
psql -h localhost -p 5432 -U postgres
```
默认的密码为123456。
阅读全文