系列教程丨用 Docker 探索开源软件 —— PostgreSQL(一)

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: Docker 的一大优点是可以让您快速使用它来试用应用程序,而无需直接在开发人员的计算机上安装它。如果您不想在自己的计算机上安装 Java 或 erlang 等运行时环境,那么您就可以不安装它们......

screenshot

出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!


Docker 的一大优点是可以让您快速使用它来试用应用程序,而无需直接在开发人员的计算机上安装它。如果您不想在自己的计算机上安装 Java 或 erlang 等运行时环境,那么您就可以不安装它们,因为容器封装了所有依赖项,并在删除时可以不留下任何痕迹。在上一篇文章《系列教程丨用 Docker 探索开源软件 —— Redis》中,我们看到了“docker run”和“docker exec”命令的实际应用,今天,我将带来本系列第二篇文章,用 Docker 探索开源软件 —— PostgreSQL,它将给我们一个机会来看看 Docker Volumes 是如何运行的。

如果您已经安装了 Docker,则可以直接按照本教程中的命令进行操作。如果您还没有安装 Docker,那么有一个很好的选择是使用 Play with Docker,它可以让我们直接在浏览器中运行所有命令。


启动一个运行 PostgreSQL 的新容器

我们将使用“docker run”命令,用“postgres”官方镜像启动一个新容器,名称为“postgres1”,并公开端口5432(PostgreSQL 的默认值)。我们正在运行分离(-d)模式(在后台)。

我们同样用“-v”挂载一个 volume,它将用于存储我们创建的数据库。这个 volume 的名称是“postgres-data”,如果不存在具有此名称的 volume,Docker 将自动创建它(仅使用 Docker 主机上本地磁盘的存储)。

PostgreSQL 将其数据存储在“/var/lib/postgresql/data”中,因此我们将 volume 挂载到该路径。

docker run -d -p 5432:5432 -v postgres-data:/var/lib/postgresql/data `
          --name postgres1 postgres

一旦我们完成了这一步,我们就可以开始检查它的运行情况了:

docker ps

查看日志输出:

docker logs postgres1

创建数据库

我们将创建一个数据库。一种简单的方法是使用“docker exec”命令在“postgres1”容器中启动一个交互式shell,其中安装了 PostgreSQL CLI 工具。这将使我们无需使用任何工具来连接和管理本地安装的 PostgreSQL 数据库。

docker exec -it postgres1 sh

在这个 shell 中,我们可以使用它创建一个名为“mydb”的新数据库。

# createdb -U postgres mydb

然后让我们启动“psql”实用工具,它是 PostgreSQL 的 CLI 工具,连接到我们的“mydb”数据库:

# psql -U postgres mydb

浏览数据库

现在,在“psql”中,让我们运行一些基本命令。“l”列出数据库。我们还可以查询数据库版本和当前日期:

mydb=# \l
mydb=# select version();
mydb=# select current_date;

接下来,让我们来做一些更有趣的事情。我们将创建一个表:

mydb=# CREATE TABLE people (id int, name varchar(80));
CREATE TABLE

然后我们将在表中插入一行:

mydb=# INSERT INTO people (id,name) VALUES (1, 'Mark');
INSERT 0 1

最后,检查一下:

mydb=# SELECT * FROM people;
 id | name
----+------
 1 | Mark
(1 row)

现在我们可以使用“q”退出“psql”以及我们的 shell:

mydb=# \q
# exit

当然,我们的“postgres1”容器仍然在运行。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
|
关系型数据库 Java 数据库连接
PostgreSQL从小白到高手教程 - 第47讲:JMETER工具使用
PostgreSQL从小白到高手教程 - 第47讲:JMETER工具使用
108 3
|
7月前
|
关系型数据库 数据库 数据安全/隐私保护
PostgreSQL安装和使用教程
PostgreSQL安装和使用教程
293 0
|
7月前
|
Ubuntu 关系型数据库 数据库
百度搜索:蓝易云【Ubuntu系统安装 PostgreSQL详细教程。】
现在,你已经成功在Ubuntu系统上安装了PostgreSQL,并创建了一个新的数据库和用户。你可以使用所创建的用户凭据连接到数据库并开始使用。记得根据你的具体需求进行进一步的配置和安全性调整。
254 2
|
3天前
|
关系型数据库 数据库 PostgreSQL
|
2月前
|
负载均衡 监控 关系型数据库
PostgreSQL从小白到高手教程 - 第48讲:PG高可用实现keepalived
PostgreSQL技术大讲堂 - 第48讲:PG高可用实现keepalived
65 1
|
2月前
|
SQL 关系型数据库 OLAP
PostgreSQL从小白到高手教程 - 第46讲:poc-tpch测试
PostgreSQL从小白到高手教程 - 第46讲:poc-tpch测试
83 3
|
3月前
|
关系型数据库 OLAP OLTP
PostgreSQL从小白到高手教程 - 第45讲:poc-tpcc测试
CUUG PostgreSQL技术大讲堂系列公开课第45讲-POC-TPCC测试的内容,往期视频及文档,请联系CUUG。
47 1
|
7月前
|
存储 关系型数据库 Java
PostgreSQL 教程
本 PostgreSQL 教程可帮助您快速了解 PostgreSQL。您将通过许多实际示例快速掌握 PostgreSQL,并将这些知识应用于使用 PostgreSQL 开发应用程序。
321 1
PostgreSQL 教程
|
3月前
|
SQL 关系型数据库 数据库
PostgreSQL从小白到高手教程 - 第44讲:pg流复制部署
PostgreSQL技术大讲堂 - 第44讲:pg流复制部署
64 0
|
4月前
|
Oracle 关系型数据库 数据库
PostgreSQL从入门到精通教程 - 第42讲:pg_rman部署与使用
PostgreSQL从入门到精通教程 - 第42讲:pg_rman部署与使用
65 1