Docker 安装 PostgreSQL

在安装完 Docker 之后,需要从 Docker Hub 拉取 PostgreSQL 的官方镜像。你可以通过以下命令来完成这一操作:

拉取完成后,可以使用以下命令查看本地已有的 Docker 镜像:

你应该能看到类似 postgres 的镜像。

创建 PostgreSQL 容器

拉取完镜像后,就可以创建一个 PostgreSQL 容器。以下是创建容器的基本命令:

这里:

  • --name 参数指定容器的名字为 my-postgres
  • -e POSTGRES_PASSWORD=mysecretpassword 设置了 PostgreSQL 的 root 密码。
  • -d 参数表示以后台模式运行容器。

查看容器状态

可以使用以下命令查看所有正在运行的容器:

可以看到刚刚创建的 my-postgres 容器。

查看日志

为了查看容器的日志,可以使用以下命令:

这将显示容器的所有日志输出,有助于排查问题。

配置 PostgreSQL

默认情况下,PostgreSQL 容器会监听标准的 5432 端口,并且只有在同一主机上的应用程序才能访问它。为了更灵活地配置 PostgreSQL,可以通过环境变量、卷挂载等方法来调整。

使用环境变量

除了设置密码外,还可以通过环境变量来配置其他选项,例如数据库名、用户名等。以下是一个例子:

卷挂载

为了持久化存储数据,可以将 PostgreSQL 数据目录挂载到宿主机上。这样即使容器被删除或重建,数据也不会丢失。

这里 /path/to/data 是宿主机上的路径,/var/lib/postgresql/data 是容器内部的路径。

自定义配置文件

如果你有自定义的 PostgreSQL 配置文件,也可以通过卷挂载的方式将其挂载到容器中。假设你有一个名为 postgresql.conf 的配置文件:

然后在容器内,你需要修改启动脚本以加载这些配置文件。

连接到 PostgreSQL

创建并运行容器后,你可能想要连接到 PostgreSQL 数据库。可以使用任何支持 PostgreSQL 的客户端工具,例如 psql 或者 GUI 工具如 DBeaver。

使用 psql

首先,找到容器的 IP 地址:

然后使用 psql 连接到数据库:

使用 DBeaver

  1. 打开 DBeaver 并新建一个数据库连接。
  2. 选择 PostgreSQL 类型。
  3. 输入连接信息,包括主机名(容器 IP)、端口号(默认 5432)、数据库名称、用户名和密码。
  4. 测试连接,然后保存。

备份与恢复

为了防止数据丢失,定期备份是非常重要的。你可以通过以下步骤进行备份和恢复。

备份数据

可以通过 docker cp 命令将数据文件复制到宿主机:

恢复数据

同样地,可以将备份的数据复制回容器:

然后重启容器以使更改生效:

总结

通过本章的学习,你应该掌握了如何在 Docker 中安装和配置 PostgreSQL 数据库。通过适当的配置和管理,可以确保你的数据库在生产环境中稳定可靠地运行。希望这些内容对你有所帮助!

上一篇: Docker 安装 Node.js
纠错
反馈