docker下postgresql安装

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
6天前
|
前端开发 jenkins 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
25 1
|
5天前
|
安全 关系型数据库 数据库
PostGreSQL安装压缩包格式
PostGreSQL安装压缩包格式
|
6天前
|
SQL 缓存 关系型数据库
postgresql的安装和使用
postgresql的安装和使用
19 0
|
6天前
|
jenkins 网络安全 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
28 3
|
6天前
|
网络协议 Linux Docker
在centos7下通过docker 安装onlyoffice
在centos7下通过docker 安装onlyoffice
35 0
|
4天前
|
jenkins 持续交付 数据安全/隐私保护
Docker 安装 Jenkins
Jenkins 是一个独立的开源自动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。
24 1
|
4天前
|
Linux Docker 容器
安装新版本Docker报错container-selinux >= 2:2.74 - 蓝易云
以上步骤应该能够帮助你解决遇到的问题。如果问题仍然存在,你可能需要寻求专业的技术支持。
21 0
|
4天前
|
Ubuntu Linux Docker
window10下安装ubuntu系统以及docker使用
window10下安装ubuntu系统以及docker使用
|
6天前
|
并行计算 Ubuntu Docker
Docker环境Ubuntu20.04安装Python3.10版本
Docker环境Ubuntu20.04安装Python3.10版本
48 0
|
6天前
|
Ubuntu Docker 容器
Ubuntu 22.04.3 LTS_安装Docker
Ubuntu 22.04.3 LTS_安装Docker
57 1