PostgreSQL与Docker –快速入门

在本教程中,我将向您展示如何轻松的在容器中运行数据库。

一、介绍

Docker正在改变我们分发和安装软件的方式,它在软件开发的许多领域中也是非常受欢迎的工具。在本文中,我将向您展示如何快速使用docker和PostgreSQL。

我将尽力使这篇文章非常简单,不涉及复杂的工作流程(稍后的文章中将介绍这些内容),这将使讨论重点不断集中,并有助于轻松学习。现在的想法是,我不知道,您将照亮旧的神经元并创建其中的aha时刻。

我假设您已经在机器上安装了docker并且正在运行。



  1. 拉取镜像

以下命令将从官方Postgres docker hub存储库中拉出最新的稳定发行版Postgres镜像。

>>docker pull postgres


持续数据

容器数据一旦停止就消失了,这在某些情况下很有用(例如,如果您正在运行一些数据库/集成测试,并且想要摆脱测试数据,那就太好了)。但是,如果要在容器的生命周期之外保留由在容器内运行的Postgres实例生成的数据,则需要将本地安装点作为数据卷映射到容器内的适当路径。

运行容器

>> docker  run  –name  pg - docker  - e  POSTGRES_PASSWORD = docker  - e  PGDATA = / tmp  - d  - p  5433:5432  - v  $ { PWD }:/ var / lib / postgresql / data  postgres:11

image.png

以下命令改变也使用另一个环境变量来设置数据库:

>>docker run --name pg-docker -e POSTGRES_PASSWORD=docker -e POSTGRES_DB=sampledb -e PGDATA=/tmp -d -p 5433:5432 -v ${PWD}:/var/lib/postgresql/data postgres:11


连接和使用PostgreSQL

一旦容器开始运行,从应用程序连接到容器与连接到在Docker容器外部运行的Postgres实例没有什么不同。 例如,要使用psql连接,我们可以执行

>>psql -h localhost -U postgres -d postgres


或者您可以使用Azure Data Studio进行连接,如下所示:

image.png

我们还可以使用以下命令在容器内运行psql:

image.png

image.png

我们还可以按如下所示的类似方式运行sql-script:

>>docker exec -it pg-docker psql -U postgres -f /opt/scripts/test_script.sql

Docker文件

您可以单独运行上述命令,但是通常,您将创建一个docker文件来构建镜像。让我们创建一个docker文件来构建设置要求。

image.png

注意复制命令,命令将脚本文件从主机目录复制到容器。

我有两个简单的SQL脚本文件,如下所示:

image.png

以下是这些脚本文件的内容,可以根据需要进行调整: 

image.png

2-createtable.sql

image.png

3-insertdata.sql

为文件名赋予数字升序值有助于控制执行顺序。

现在,所有这些都就位了,我们现在可以使用此docker文件构建映像:

>>docker image build -t postgresbasic .

image.png

>>docker run --name pg-docker -e PGDATA=/tmp -d -p 5433:5432 -v ${PWD}:/var/lib/postgresql/data postgresbasic

最后,我们现在可以使用psql或Azure Data Studio检查数据库。

image.png

标签: 教程

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:利用阿里云服务器ECS/SLB/RDS/EIP 构建高可用架构
下一篇:如何在Linux上杀死僵尸进程??

发表评论

vidnami 在线视频创作工具--做海外推广营销视频必备工具

image.png


我们的折扣优惠是向观众推广Vidnami的绝妙方式。他们将即时访问 25% 的 Vidnami, 再加上我们的视频营销包免费。最棒的是,您将获得所有销售额的50%!

https://www.vidnami.com/c/Mr_xiaoxiao-vn-buy-discount 

期待各位的加入,让原创发挥活力,让阅读更有价值!登录注册
登录
用户名
密码
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱