美文网首页
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