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
使用docker安装 postgres
-
查看镜像
docker search postgres
-
拉取最新镜像
docker pull postgres
-
查看所有镜像
docker images
-
启动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
操作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;
使用 DBeaver 客户端连接
-
配置如图
-
执行SQL