Linux环境中Docker容器安装与使用(四)——Postgresql数据库
简介:Docker是一个基于虚拟化技术的容器,基于Go语言开发。Docker可以将应用程序打包封装到一个容器中,该容器包含了应用程序的代码、依赖库、运行环境、配置文件等必需的资源,通过容器就可以实现方便快速自动化部署,无论你部署时的环境如何,容器中的应用程序都会运行在同一种环境下。本文将在Docker容器里安装PostgreSQL数据库系统,PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。其安装部署的详细内容请参考下文。
一、登陆Linux系统
二、查看Docker运行状态
执行指令# systemctl status docker查看Docker的运行状态。如下图
三、使用docker安装PostgreSQL数据库
1、查找需要安装的postgresql版本
执行指令# docker search postgresql。如下图
2、下载postgresql镜像
执行指令# docker pull postgres:12.5。如下图
3、查看postgresql镜像
执行指令# docker images。如下图
4、启动postgresql容器
执行指令# docker run --name pgsql -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:12.5。如下图
备注:
--name: 指定创建的容器的名字;
-e POSTGRES_PASSWORD=123456: 设置环境变量,指定数据库的登录口令为123456;
-p 5432:5432: 端口映射将容器的5432端口映射到外部机器的5432端口;
-d postgres:12.5: 指定使用tgres:12.5作为镜像。
5、查看postgresql服务
执行指令# dockers ps -a。如下图
备注:状态为UP表示该服务已经正常启动。
6、进入容器postgresql并登陆客户端
执行指令# docker exec -it postgresql psql -U postgres。如下图
7、访问Postgresql数据库
执行指令# select * from user;如下图
8、防火墙放行5432端口
执行指令# firewall-cmd --add-port=5432/tcp --permanent;如下图
9、从客户端访问并创建数据库
(1)、创建一个dbuser用户并设置密码为123456
create user jason with password '123456';
(2)、创建一个raytest数据库并授权给刚刚的dbuser用户
CREATE DATABASE jasondb OWNER jason;
(3)、将jasondb数据库的所有权限都赋予jason用户
GRANT ALL PRIVILEGES ON DATABASE jasondb TO jason;
10、用jason账户登陆数据库
执行指令# docker exec -it postgresql psql -U jason -d jasondb。如下图
执行指令=> create table juser(id integer primary key not null,username varchar(32),password varchar(32));如下图
执行指令=> select * from information_schema.tables WHERE table_schema = 'public';查看刚创建的数据表。如下图