如何使用Dockerfile创建PostgreSQL数据库

 更新时间:2024年02月22日 14:25:39   作者:小白--AI  
这篇文章主要介绍了如何使用Dockerfile创建PostgreSQL数据库,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

官网下载基本镜像

[root@localhost ~]# docker pull postgres:latest

创建项目目录

[root@localhost ~]# mkdir /root/postgresql

创建一个名为 “Dockerfile” 的文件

[root@localhost ~]# vim Dockerfile
# 使用官方的PostgreSQL镜像
FROM postgres:latest
# 设置环境变量(设置数据库登录密码)
ENV POSTGRES_PASSWORD=aczu102030
# 将当前目录下的init.sql文件复制到容器中的/docker-entrypoint-initdb.d/目录
COPY init.sql /docker-entrypoint-initdb.d/
# 暴露PostgreSQL的默认端口
EXPOSE 5432
# 在容器启动时执行命令
CMD ["postgres"]

创建一个名为init.sql的文件

[root@localhost ~]# vim init.sql
CREATE TABLE mytable (  
  id SERIAL PRIMARY KEY,  
  name VARCHAR(100)  
);  
INSERT INTO mytable (name) VALUES ('John'), ('Jane'), ('Doe');

使用Dockerfile构建

[root@localhost postgres]# docker build -t my-postgres .  

构建一个名为my-postgres的Docker镜像

运行PostgreSQL容器

[root@localhost postgres]# docker run -d --name my-postgres-container -p 5432:5432 my-postgres

后台运行一个名为my-postgres-container的容器,将主机的5432端口映射到容器的5432端口。

允许远程连接到 PostgreSQL 容器

进入PostgreSQL 容器

[root@localhost postgres]# docker exec -it <容器名称或 ID> bash

允许 PostgreSQL 监听所有地址。

root@59fc0bb64dea:/# echo "host all  all    0.0.0.0/0  md5" >> /var/lib/postgresql/data/pg_hba.conf
root@59fc0bb64dea:/# exit

重启PostgreSQL 容器。

[root@localhost postgres]# docker restart 59fc0bb64dea

远程连接时使用正确的用户名、密码和数据库名进行连接。

到此这篇关于如何使用Dockerfile创建PostgreSQL数据库的文章就介绍到这了,更多相关Dockerfile创建PostgreSQL数据库内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • 解析PostgreSQL中Oid和Relfilenode的映射问题

    解析PostgreSQL中Oid和Relfilenode的映射问题

    这篇文章主要介绍了PostgreSQL中Oid和Relfilenode的映射问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • postgresql删除主键的操作

    postgresql删除主键的操作

    这篇文章主要介绍了postgresql删除主键的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL 查找当前数据库的所有表操作

    PostgreSQL 查找当前数据库的所有表操作

    这篇文章主要介绍了PostgreSQL 查找当前数据库的所有表操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • postgresql使用dblink跨库增删改查的步骤

    postgresql使用dblink跨库增删改查的步骤

    这篇文章主要介绍了postgresql使用dblink跨库增删改查,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • postgresql insert into select无法使用并行查询的解决

    postgresql insert into select无法使用并行查询的解决

    这篇文章主要介绍了postgresql insert into select无法使用并行查询的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • postgresql 将逗号分隔的字符串转为多行的实例

    postgresql 将逗号分隔的字符串转为多行的实例

    这篇文章主要介绍了postgresql 将逗号分隔的字符串转为多行的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 在PostgreSQL中设置表中某列值自增或循环方式

    在PostgreSQL中设置表中某列值自增或循环方式

    这篇文章主要介绍了在PostgreSQL中设置表中某列值自增或循环方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Postgresql自定义函数详解

    Postgresql自定义函数详解

    这篇文章主要介绍了Postgresql自定义函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • PostgreSQL upsert(插入更新)数据的操作详解

    PostgreSQL upsert(插入更新)数据的操作详解

    这篇文章主要介绍了PostgreSQL upsert(插入更新)教程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • PostgreSQL查看版本信息的操作

    PostgreSQL查看版本信息的操作

    这篇文章主要介绍了PostgreSQL查看版本信息的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论


http://www.vxiaotou.com