PostgreSQL是一个免费开源的对象关系数据库管理系统。它已经存在了30多年,并标榜自己是“世界上最先进的开源关系数据库”
与此同时,Docker已成为IT行业的标准,可轻松打包、部署和运行分布式应用程序。它提供了一个极好的机会来容器化您的数据库,并防止系统因本地包安装而产生依赖关系。
但在我们继续之前,让我们先回答几个基本问题。
为什么在Docker上使用PostgreSQL?
在Docker上使用PostgreSQL有几个好处:
- 便携性
:Docker为跨不同系统和平台运行PostgreSQL提供了一个一致的环境。这意味着您可以确保应用程序以相同的方式运行,而不考虑底层基础架构。此外,在不同的环境中测试和调试应用程序更容易,并确保它们在生产中一致运行。
- 隔离
:Docker容器为运行PostgreSQL实例提供了一个独立的环境,因此您可以在同一主机上运行多个实例,而不必担心冲突或依赖关系。
- 可扩展性
:Docker使在任何平台上部署PostgreSQL实例变得容易,并根据需要进行扩展。这允许在管理数据库资源时有更大的灵活性,因为您可以轻松地启动新实例或调整在任何给定时间运行的容器数量。
为什么使用Docker Compose?
Docker Compose是一个允许您运行多容器Docker应用程序的工具。它是一个命令行实用程序,通过使用YAML文件来定义应用程序的服务、网络和卷,简化了编排Docker容器的过程。
换句话说,Docker Compose允许您在一个文件中定义组成应用程序的所有服务,然后使用
码头工人组成
命令来启动、停止和管理这些服务。这使得设置和管理依赖于多个容器的复杂应用程序变得容易。
当我们并行部署PostgreSQL和pgAdmin(PostgreSQL数据库最流行的开源管理工具)时,我们将在本指南中这样做。这将使我们能够立即开始管理我们的PostgreSQL实例,而无需浪费时间搜索其他工具来管理它。
步骤1:安装Docker Compose
据推测,您的系统上已经安装了Docker。如果你不这样做,下面的链接将向你展示如何快速轻松地为你正在使用的发行版安装它,如Ubuntu、Debian、AlmaLinux或Rocky Linux。
另一个重要组件是Docker Compose。请记住,它是与Docker分开提供的。因此,在添加Docker Compose之前,必须先安装Docker;否则,Compose将不起作用。
安装它非常简单,即使它还没有在您的Linux系统上。键入以下命令:
苏多卷曲-L
"https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-$(uname-m)“
-o/usr/local/bin/docker compose
sudo-chmod+x/usr/local/bin/docker compose
代码语言:
JavaScript
(
javascript
)
安装Docker Compose。
在撰写本文时,我们使用的是Docker Compose 2.16.0。要检查是否有新的,请单击此链接并替换“
2.16.0
”将上面第一个命令中的一部分与您想要的命令组合在一起。
接下来,运行下面的命令以确保Docker Compose已正确安装并运行。您应该会收到类似于所示的回复。
docker撰写版本
检查Docker Compose版本。
一切看起来都很好,所以让我们进入实际部分。
步骤2:创建Docker Compose文件
正如指南开头提到的,Docker Compose允许您构建和运行多个容器的堆栈。要使用它,您必须首先创建一个“
docker-compose.yaml
”文件,该文件为应用程序配置容器。然后,您可以使用单个命令,例如“
码头工人组成
“启动所有容器并将它们连接在一起。
因此,让我们为容器化堆栈创建描述PostgreSQL和pgAdmin服务的主文件。首先,我们将使用自己选择的名称创建一个目录,例如,“
pg
,“然后,使用您喜欢的文本编辑器,创建一个名为”
docker-compose.yaml
“在里面:
mkdir
pg
&&
cd
pg
vim
码头工人组成
.yaml
代码语言:
CSS
(
css
)
然后,将以下内容添加到其中:
版本
"3.8"
服务
:
进展后:
图像:postgres
重新启动
总是
端口
:
-
"5432:5432"
环境
:
POSTGRES_USER:POSTGRES
POSTGRES_PASSWORD
:mypgdbpass
体积
:
-进度后数据:
/var/
lib/postgresql/data
pgadmin
:
图片:dpage/pgadmin4
重新启动
总是
端口
:
-
"5050:80"
环境
:
PGADMIN_DEFAULT_EMAIL:[电子邮件保护]
PGADMIN_DEFAULT_PASSWORD
:mypgadminpass
体积
:
-pgadmin_data:
/var/
lib/pgadmin
依赖
:
-postgres
体积
:
进度后数据:
pgadmin_data:
代码语言:
JavaScript
(
javascript
)
保存并关闭文件。如果你不清楚它的内容,不要担心。现在我将对其进行解释,让我们分解一下这个语法。
- 服务
:定义Docker需要运行的两个服务,”
postgres
和
pgadmin
.”
- 形象
:指定将下载并用于我们的服务的Docker Hub映像。我们不为它们应用标签,因为我们想使用最新的版本。但是,如果您需要一个特定的,您可以查看PostgreSQL和pgAdmin可用的并使用它,例如,将其指定为“
后gres:15.2阿尔卑斯
.”
- 重新启动
:将Docker容器配置为在意外停止时始终重新启动。
- 端口
:将主机上的TCP端口映射到容器端口。这样,容器化服务就暴露在容器外部,并且可以远程访问。
- 环境
:设置应用程序身份验证和设置的环境变量。请确保更改“
POSTGRES_PASSWORD
“PostgreSQL的环境”
postgres
“admin用户和pgAdmin(”
PGADMIN_DEFAULT_EMAIL
和
PGADMIN_DEFAULT_PASSWORD
”)。
- 体积
:为应用程序文件装载命名的Docker卷以持久化数据。否则,当容器重新启动时,数据将丢失。
- 依赖
:允许您按顺序运行服务。在我们的案例中,“
pgadmin
“服务要到”
postgres
“没有启动和运行。
步骤3:将PostgreSQL和pgAdmin作为Docker容器运行
最后,我们准备使用Docker Compose运行PostgreSQL和pgAdmin。要执行此操作,请从“
pg
“您所在的目录”
docker-compose.yaml
”文件驻留。
在后台部署和运行容器:
docker组合-d
图像将开始下载。整个过程可能需要几分钟时间,具体取决于您的互联网连接速度。最后,您应该会看到一个类似于下面的屏幕,通知您所有容器都已成功创建并启动。
将PostgreSQL和pgAdmin作为Docker容器运行。
当然,使用Docker Compose的PostgreSQL和pgAdmin容器实际启动之前的延迟将只是第一次,因为需要从互联网上下载图像。由于Docker镜像在您的Linux系统上本地可用,因此所有后续运行都需要几秒钟的时间。
步骤4:将pgAdmin连接到PostgreSQL容器
打开浏览器并将其指向“
http://localhost:5050
或
http://ip-address:5050
“在运行PostgreSQL和pgAdmin Docker容器的服务器上。
pgAdmin登录页面将向您致意。输入您指定的用户名和密码作为“
PGADMIN_DEFAULT_EMAIL
和
PGADMIN_DEFAULT_PASSWORD
“中的变量”
docker-compose.yaml
文件
pgAdmin 4登录页面。
接下来,单击“
添加新服务器
.”
将新服务器添加到pgAdmin。
将打开一个新的模式窗口,您可以在其中配置PostgreSQL服务器连接设置。首先,在“
名称
领域
向PostgreSQL服务器添加新连接。
然后选择“
联系
“选项卡。在”
主机名/地址
字段中定义的Docker的PostgreSQL容器的服务的名称
docker-compose.yaml
文件在我们的案例中,它是“
postgres
。“最后,输入给定的密码,作为的值”
POSTGRES_PASSWORD
“并通过单击保存您的更改”
拯救
按钮
向PostgreSQL服务器添加新连接。
该应用程序将连接到PostgreSQL Docker容器,您可以使用pgAdmin功能丰富的web界面来监控和管理数据库服务器。
pgAdmin成功连接到Docker PostgreSQL容器。
或者,您可以通过将其附加到容器并运行
psql
命令直接与PostgreSQL数据库交互。要执行此操作,必须首先输入容器。但是,你需要知道它的名字。要查找它,请键入:
码头工人ps
正在查找Docker容器的名称。
在所示的示例中,我们的PostgreSQL容器名为“
pg-postgres-1
。“您也可以使用容器ID而不是名称,在所示的示例中为”
37c52cf79923
。”要直接连接到它,我们需要运行以下操作:
docker exec-it pg-postgres-1 psql-U postgres
这提供了完整的PostgreSQL命令行界面,可以使用所有熟悉的命令和标志。
在Docker容器内运行psql命令。
最后,让我带您了解管理容器化PostgreSQL/pgAdmin堆栈的基本Docker Compose命令。
基本Docker Compose命令
您可以在实践中使用的基本Docker Compose命令如下所示。记得从“
pg
“目录,其中”
docker-compose.yaml
”驻留。
列出所有Docker容器
要查看当前正在部署中运行的所有容器的列表,请键入:
docker compose ps
列出所有Docker容器。
停止所有Docker容器
要停止所有在后台运行的docker容器,请使用如下所示的命令:
docker组合停止
停止所有Docker容器。
当然,您只能停止其中一个容器,而不能停止所有容器。跑
docker组合停止
“后跟中定义的服务名称”
docker-compose.yaml
文件注意的不是容器名称,而是服务名称。
例如,要停止PostgreSQL容器,用“
postgres
“服务名称,请键入以下内容:
docker compose stop postgres
停止单个容器。
同样,您可以稍后通过执行“
docker compose start postgres
.”
启动所有Docker容器
从您的项目目录(“
pg
“),通过运行如下所示的命令启动应用程序:
docker撰写开始
启动所有Docker容器。
查看容器的日志
“
码头工人撰写日志
”命令显示服务的日志输出。例如,运行后面跟有服务名称的命令来查看PostgreSQL容器日志。
docker撰写日志postgres
此外,如果您想聚合堆栈中每个容器的日志并实时跟踪其中发生的事情,请键入:
docker compose logs-f
停止并移除所有容器
以下命令停止并删除以前由“
码头工人组成
命令
码头工人冷静下来
停止并销毁容器。
此外,如果您想停止并删除容器及其关联的Docker映像,请使用以下命令:
docker冷静下来--rmi-all
停止并移除容器及其Docker映像。
如果除了停止和删除容器之外,还希望删除Docker卷中永久存储的数据,请执行以下操作:
docker compose down-v
停止并移除容器及其持久数据。
注意请注意,您将以这种方式丢失所有数据。在这种情况下,PostgreSQL数据库(“
pgadmin_data
体积因此,在执行此命令之前请三思。
结论
Docker彻底改变了开发人员部署和管理应用程序的方式。使用它最重要的用例之一是易于部署和访问容器中构建的应用程序,而无需担心依赖关系和安装。凭借其提供一致环境和简化部署过程的能力,Docker已成为开发人员和系统管理员的首选解决方案。
本教程向您展示了如何使用Docker Compose在Docker容器中快速运行PostgreSQL和pgAdmin管理工具。按照本指南中概述的逐步说明,您可以在几分钟内启动并运行PostgreSQL和pgAdmin环境。
如果你有任何问题或建议,请在下面的评论中告诉我,我很乐意与你跟进。
相关推荐
Fedora在各个方面都是经过精心打磨的发行版,理所当然地在顶级Linux发行版中赢得了一席之地。然而,它的致命弱点是它雇佣的一揽子计划经理,以今天的标准来看,这已经过时了。 它的使用可以考验用户的耐心,因为它的性能明显落后于Debian的快速APT。坦率地说,将它与Arch的Pacman的快速效率相比,甚至不是一场公平的竞争。然而,这一切都可能在Fedora 41中改变。 建议书 Fedora项
今天,我们将深入了解洋葱路由器,它的首字母缩写为Tor。当然,它可能在网络安全界享有暗网浏览器的声誉。 但不要因为少数坏人不时使用这个强大的隐私工具就诋毁它。尽管Tor的用户更黑,但它提供了无与伦比的匿名性,可以帮助任何人保护自己的隐私。 Tor的核心是保护用户的个人隐私以及他们进行保密通信的自由。 Tor是如何工作的 互联网有很多方法可以识别你,但最简单、最常见的方法是通过你的IP地址。它的功能
就在前一个9.6版本发布两周后,以允许Linux和macOS用户运行Windows应用程序而闻名的Wine Project宣布发布Wine 9.7。 此最新开发版本引入了一些改进和错误修复,进一步增强了Windows应用程序在非Windows平台上的兼容性和性能。 这个新版本的亮点之一是 ARM64X构建系统支持介绍 ,它扩展了Wine在更现代、更强大的硬件架构上的功能。 Wine 9.7还具有
Navidrome是一款自托管的开源音乐服务器和流媒体,允许用户托管自己的音乐集并从任何地方访问,它发布了最新版本0.52。以下是最新消息。 机场0.52亮点 Navidrome 0.52的关键更新是将TagLib升级到2.0.1版本,这显著改进了音乐标签的导入,使音乐信息的组织和检索更容易、更准确。这对于具有大量元数据的大型音乐库尤其有用。 在其他显著改进中,自动存储塔模式得到了增强。这种模式允
微软用其功能丰富的现代图像查看器Photos取代了Windows 10和Windows 11中的经典照片查看器应用程序。然而,如果你喜欢照片查看器的简单性,下面是你如何在Windows 10和11中恢复它的方法。 如何恢复Windows照片查看器在Windows 10/11使用注册表 您可以使用Windows注册表脚本启用经典Windows照片查看器应用程序。以下Windows注册表脚本重新配置并
回到顶部