(二)docker安装并持久化postgresql数据库

本文详细介绍了如何通过Docker来安装和配置PostgreSQL数据库,包括拉取镜像、创建数据卷、启动容器以及设置环境变量进行用户和数据库的初始化。重点在于数据卷的使用以实现数据的持久化,即使容器被删除,数据也不会丢失。最后,展示了如何进入容器执行SQL操作,确保数据库正常运行。
摘要由CSDN通过智能技术生成

ãå¾ææç¨ãåå«çè¦çå®è£è¿ç¨ï¼ä½¿ç¨ docker 5åéå¿«éå¯å¨ postgres 并è¿ç¨è®¿é®

安装docker步骤略过

1、拉取postgresql镜像

docker pull postgresql

2、在操作系统上创建挂载点

创建本地卷,数据卷可以在容器之间共享和重用, 默认会一直存在,即使容器被删除(docker volume inspect pgdata可查看数据卷的本地位置)

# 创建目录作为 docker container 的挂载点
$mkdir -p $HOME/docker/volumes/postgres

# 也可以使用docker volume命令
docker volume create pgdata

3、启动容器

docker run --name postgres2 -e POSTGRES_PASSWORD=password -p 5432:5432 -v pgdata:/var/lib/postgresql/data -d postgres

 

这里我们详细地将几个参数说明一下,方便大家根据自己的需求进行改动。

  • -it -d 这两个参数一般同时使用,保证 container 以交互的方式在后台运行。
  • --rm 这个参数是指在 container 停止时自动将 container 删除。
  • --name 你在使用 docker ps 命令时看到的 container 的名字。
  • -e POSTGRES_USER=dbuser 这个是设置 container 中的环境变量用的参数,指的是设计数据库用户为 dbuser 。之后登录数据库时就是使用这个用户名。
  • -e POSTGRES_PASSWORD=password 同上,也是设置 container 中的环境变量,这个是设置你登录数据库的密码,这里设置的密码为"password"。
  • -e POSTGRES_DB=testdb 同上,初始化一个新的数据库,其名字为 testdb。
  • -p 5432:5432 这个是将主机的端口与 container 暴露的端口进行映射。其格式为 -p 主机端口: container 端口。即 : 前为主机端口,后为 container 端口。
  • -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data 挂载目录。将容器中的 /var/lib/postgresql/data 目录挂载至我们刚才新建的磁盘上的 $HOME/docker/volumes/postgres ,以便数据的持久化
  • postgres 为下载下来的 image 的名字。如果你的主机上没有相应的 image ,则 docker 会自动从 dockerhub 活着你设置的源上下载相应的 image。

4、进入postgres容器执行sql

docker exec -it postgres2 bash

psql -h localhost -p 5432 -U postgres --password

至此,postgresql安装成功。

 

参考文章:

docker安装并持久化postgresql数据库

【图文教程】告别痛苦的安装过程!使用 docker 5分钟快速启动 postgres 并远程访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值