Linux环境下Docker 安装 Postgres数据库

本文详细介绍了在Linux环境下利用Docker快速安装Postgres数据库,包括安装Docker、配置镜像源、设置持久化数据、创建数据库及用户,并指导如何通过DBeaver客户端连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux环境下Docker 安装 Postgres数据库

背景说明

由于日常工作中需要临时数据分析或者对于一些系统演示工作需要数据库环境支持,因此快速搭建一个可以使用的数据库环境对于提高工作效率解决实际问题益处颇多;使用docker可以实现简化配置,便于版本控制,迅速搭建一个满足要求的数据库环境。

安装 Docker

  • 直接yum安装
yum install docker-io -y
  • 安装成功后查看版本
docker -v
  • 启动docker
service docker start
  • 设置开机启动
chkconfig docker on

配置Docker镜像

  • 因为国内访问 Docker Hub 较慢, 可以使用其他国内镜像源, 加速访问 Docker Hub
{
   "registry-mirrors": [
       "https://mirror.ccs.tencentyun.com"
  ]
}

写入到文件:/etc/docker/daemon.json

systemctl daemon-reload

service docker restart

# 查看是否成功
docker info 

image-20211001002414060

使用docker安装 postgres

  • 查看镜像

    docker search postgres
    

image-20211001225707626

  • 拉取最新镜像

    docker pull postgres  
    
  • 查看所有镜像

    docker images
    

image-20211001230529631

  • 启动postgres容器

    # 创建 /sofeWare/Docker/data/pg_data 文件夹,用来做持久化,映射容器中对应路径
    mkdir -p /sofeWare/Docker/data/pg_data
    docker run --name smallsuperman_pg -e POSTGRES_PASSWORD=密码 -p 5432:5432 -v /sofeWare/Docker/data/pg_data:/var/lib/postgresql/data -d postgres
    
  • 查看启动的容器

    docker ps 
    

    image-20211002001451370

操作postgres

  • 进入postgres容器

    # 进入容器
    docker exec -it smallsuperman_pg /bin/bash
    # 进入命令行文件夹
    /usr/lib/postgresql/14/bin
    # 进入postgresql,默认的postgres用户
    psql -U postgres
    
  • 数据库操作

    -- 创建数据库
    CREATE DATABASE edw;
    -- \l 查看所有数据库
    -- 修改数据库名
    -- ALTER DATABASE edw RENAME TO edw;
    -- 创建模式
    --\c edw -- 进入对应的数据
    CREATE SCHEMA dwpdata;
    -- 创建用户
    CREATE USER edw_user WITH PASSWORD '密码';
    
    -- 数据库赋权给用户
    GRANT ALL  ON DATABASE edw TO edw_user;
    -- 模式赋权给用户
    GRANT ALL ON SCHEMA dwpdata TO edw_user;
    GRANT ALL ON ALL tables IN SCHEMA dwpdata to edw_user;
    
    

    image-20211002003435047

使用 DBeaver 客户端连接

  • 配置如图

    image-20211002004742236

  • 执行SQL

    image-20211002012104718

### 使用 DockerLinux 系统上安装配置 PostgreSQL 数据库 #### 准备工作 确保已正确安装 Docker 并能够正常使用。如果尚未安装 Docker,请先完成 Docker安装。 #### 获取并启动 PostgreSQL 容器 打开终端窗口,执行如下命令来获取最新版本的官方 PostgreSQL 镜像,并创建一个新的容器实例: ```bash docker pull postgres docker run --name mypostgres -e POSTGRES_PASSWORD=your_password -p 5432:5432 -d postgres ``` 这里 `-e` 参数指定了环境变量 `POSTGRES_PASSWORD` 来设定数据库管理员账户的初始密码;而 `-p` 则映射主机端口至容器内部的服务端口[^4]。 为了持久化存储数据,在运行容器时可以指定卷挂载选项,例如将本地目录 `/home/user/pgdata` 绑定到容器内的默认数据路径: ```bash docker run --name mypostgres -e POSTGRES_PASSWORD=your_password -p 5432:5432 \ -v /home/user/pgdata:/var/lib/postgresql/data -d postgres ``` 这一步骤非常重要,因为它能防止因意外删除或重新创建容器而导致的数据丢失问题。 #### 检查容器状态 确认新创建PostgreSQL 容器正在顺利运作的方法之一就是利用 `docker ps` 命令列出当前活动的所有容器列表。对于想要进一步了解具体某个容器的信息,则可以通过附加参数如 `docker inspect container_name_or_id` 实现更详细的查询[^2]。 #### 进入 PostgreSQL 控制台 一旦确认 PostgreSQL 正常运转之后,就可以尝试连接进去操作了。下面这条指令允许用户交互式地登录到名为 "mypostgres" 的容器内,并直接开启 SQL 查询界面: ```bash docker exec -it mypostgres psql -U postgres ``` 此时会进入到 PSQL 提示符下,可在此处输入各种管理命令或是执行标准 SQL 语句来进行数据库的操作和维护工作[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值