docker下postgresql安装

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: docker下postgresql安装


image.png

数据库作为项目必不少的一部分,小伙伴们无论在日常开发或者私活中都要接触,而且oracle,postgresql等数据库相对更加的复杂与繁琐,

1.安装数据库

1.拉取镜像

1. docker pull postgres:13.0 //版本号自己掌握
2. 复制代码

2.启动容器

1. docker run --name postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -v /usr/local/postgresql/data:/var/lib/postgresql/data -d postgres:13.0
2. 复制代码

参数解释:

  • run: 创建并运行一个容器;
  • --name postgres: 指定创建的容器的名字;
  • -e POSTGRES_PASSWORD=password: 设置环境变量,指定数据库的登录口令为password;
  • -p 5432:5432: 端口映射将容器的5432端口映射到外部机器的5432端口;
  • -v  /usr/local/postgresql/data:/var/lib/postgresql/data  将/usr/local/postgresql/data挂载到容器的/var/lib/postgresql/data文件中,俗话讲这两个文件夹拥有相同数据。
  • -d postgres 指定使用postgres作为镜像。

登录的初始用户:postgres 登录的初始密码:password

3.查看容器

1. docker ps 
2. 复制代码

image.png

4.创建表空间

当docker操作postgresql新建表空间时,需要进入容器操作 并使用postgres用户创建文件夹

docker exec -it 容器image /bin/bash
su - postgres
mkdir system
psql 数据库用户名称
create tablespace 表空间名 owner 拥有者 location '在容器中的路径名';
例:create tablespace systme owner admin location '/var/lib/postgresql/data/system';
建议在每建立一个表空间下都在/var/lib/postgresql/data下新一个文件夹(本处新建了system),因为新建时会在路径下新建一个PG_13_日期的文件夹,有可能重复
复制代码

5.异常

如果抛出以下异常

1. changing ownership of '.': Permission denied或者chmod: changing permissions of '/var/lib/postgresql/data': Permission denied
2. 复制代码

需要关闭SELinux

getenforce #查看SELinux状态 permissive关闭状态 enforcing开启状态
setenforce 0 #临时关闭 
setenforce 1 #临时开启 
//永久关闭
修改 /etc/selinux/config
SELINUX=enforcing改为SELINUX=permissive
切记不要改成disabled 会出现异常 Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2
复制代码

当想要新建数据库中需要的文件夹时,一定要是进入容器,并且使用固定用户postgres创建,否则就会抛出没有权限的异常

 


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
关系型数据库 Go 网络安全
go语言中PostgreSQL驱动安装
【11月更文挑战第2天】
81 5
|
5天前
|
NoSQL 关系型数据库 应用服务中间件
docker基础篇:安装tomcat
docker基础篇:安装tomcat
100 64
|
6天前
|
关系型数据库 MySQL 数据库
docker高级篇(大厂进阶):安装mysql主从复制
docker高级篇(大厂进阶):安装mysql主从复制
61 24
|
7天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
58 24
|
6天前
|
Ubuntu Linux Docker
Ubuntu22.04上Docker的安装
通过以上详细的安装步骤和命令,您可以在Ubuntu 22.04系统上顺利安装
64 11
|
1月前
|
缓存 Linux Docker
【最新版正确姿势】Docker安装教程(简单几步即可完成)
之前的老版本Docker安装教程已经发生了变化,本文分享了Docker最新版安装教程,其他操作系统版本也可以参考官 方的其他安装版本文档。
1292 2
【最新版正确姿势】Docker安装教程(简单几步即可完成)
|
1月前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
663 12
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
606 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
1月前
|
数据库
|
1月前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
101 2