美文网首页
Docker下安装PostgreSQL

Docker下安装PostgreSQL

作者: IT前沿技术分享 | 来源:发表于2024-05-24 10:04 被阅读0次

上文对PostgreSQL做了简单的介绍,并且与Mysql 做了出略的比较。本文,将开始学习如何利用Docker安装PostgreSQL并使用。

在 Docker 上安装并运行 PostgreSQL 是一个非常方便和快速的方法。以下是详细步骤:

1. 拉取 PostgreSQL 镜像

dockerHub搜索 PostgreSQL

使用 Docker 命令从 Docker Hub 拉取 PostgreSQL 官方最新版的镜像:

docker pull postgres:alpine3.20

2. 运行 PostgreSQL 容器

使用以下命令运行一个 PostgreSQL 容器:

docker run --name my_postgresql --restart=always -d -p 5432:5432 -v D:\soft\docker\Postgresql:/var/lib/postgresql/data --shm-size=10g -e POSTGRES_PASSWORD=mysecretpassword postgres:alpine3.20
  • --name my_postgres:容器的名称,可以自定义。
  • -e POSTGRES_PASSWORD=mysecretpassword:设置 PostgreSQL 的超级用户 postgres 的密码。
  • -d:以守护进程模式运行 PostgreSQL 容器。
  • -p 宿主端口:容器端口: 宿主机与容器的端口映射,PostgreSQL默认端口5432
  • -v 宿主目录:容器目录: -v 将宿主机存储目录挂载到容器中存储目录,让数据持久化到本地

耐心等待, 返回容器ID,即创建成功

3.使用本地主机连接

安装完成后,我们就可以通过 Navicat 客户端工具(如 psql、pgAdmin、DBeaver 等)链接

根据之前安装命令的连接信息连接到 PostgreSQL:

  • 主机localhost127.0.0.1
  • 端口5432
  • 初始化数据库postgres
  • 用户名postgres
  • 密码mysecretpassword

填入信息后,点击测试链接,提示成功

确定后保存,再打开链接提示

Error: column "datlastsysoid" does not exit 
LINE 1:SELECT DISTTINCT datlastsysoid FROM pg_database

发现是我的Navicat的版本12.1.11与postgres的版本alpine3.20不适配,故切换为适配的版本12-alpine3.20

先删除alpine3.20版本相关的容器及镜像。

#停机
docker stop my_postgresql
#移除容器
docker rm my_postgresql
#移除镜像
docker rmi postgres:alpine3.20

再执行以下调整的命令即可。

docker run --name my_postgresql --restart=always -d -p 5432:5432 -v D:\soft\docker\Postgresql:/var/lib/postgresql/data --shm-size=10g -e POSTGRES_PASSWORD=mysecretpassword postgres:12-alpine3.20

创建完毕后再用Navicat就能链接成功了。

4.其它的一些配置

在启动容器时,可以设置更多的环境变量来配置 PostgreSQL:

  • POSTGRES_USER:设置 PostgreSQL 的超级用户名(默认为 postgres)。
  • POSTGRES_PASSWORD:设置 PostgreSQL 的超级用户密码。
  • POSTGRES_DB:设置默认数据库名(如果未设置,默认创建与用户同名的数据库)。
docker run --name my_postgres -e POSTGRES_USER=myuser -e POSTGRES_PASSWORD=mypassword -e POSTGRES_DB=mydb -p 5432:5432 -d postgres

总结

通过 Docker 安装 PostgreSQL,可以快速部署和管理数据库实例,特别适合开发和测试环境。使用上述步骤,可以轻松完成 PostgreSQL 的安装、运行和连接,同时也可以通过挂载本地目录实现数据持久化。

相关文章

网友评论

      本文标题:Docker下安装PostgreSQL

      本文链接:https://www.haomeiwen.com/subject/ltotqjtx.html