在 Docker Compose 中安装 PostgreSQL 12

在本文中,我们将学习如何使用 Docker Compose 来安装和配置 PostgreSQL 12 数据库。Docker Compose 是一个工具,可以让我们通过一个简单的 YAML 文件来定义和管理多个 Docker 容器。

准备工作

在开始之前,确保你已经安装了 Docker 和 Docker Compose。如果没有安装,你可以在[Docker官方网站](

编写 Docker Compose 文件

首先,我们需要创建一个名为 docker-compose.yml 的文件,用于定义 PostgreSQL 12 的容器。在该文件中,我们需要定义一个服务,包括容器的名称、使用的镜像、映射的端口等信息。

```yaml
version: '3.1'

services:
  postgres:
    image: postgres:12
    container_name: my_postgres
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydatabase

在上面的代码块中,我们定义了一个名为 `postgres` 的服务,使用了 PostgreSQL 12 的官方镜像。我们给容器命名为 `my_postgres`,并将主机的端口 `5432` 映射到容器的端口 `5432`。我们还设置了 PostgreSQL 的用户名、密码和数据库名称。

## 启动 PostgreSQL 12 容器

现在,我们可以在终端中使用 Docker Compose 启动 PostgreSQL 12 容器。在项目的根目录下,运行以下命令:

```bash
```bash
docker-compose up -d

这将下载 PostgreSQL 12 镜像并启动容器。你可以使用以下命令检查容器是否正在运行:

```bash
```bash
docker ps

如果一切顺利,你应该能看到名为 `my_postgres` 的容器正在运行。

## 连接到 PostgreSQL 数据库

现在我们可以通过任何 PostgreSQL 客户端连接到数据库。在连接时,你可以使用以下信息:

- 主机地址:`localhost`
- 端口:`5432`
- 用户名:`admin`
- 密码:`password`
- 数据库名称:`mydatabase`

## 测试数据库连接

你可以使用任意的 PostgreSQL 客户端,比如 `psql` 或 `pgAdmin`,来连接到数据库并执行 SQL 查询。以下是一个简单的示例,使用 `psql` 连接到数据库并查询所有表格:

```bash
```bash
psql -h localhost -U admin -d mydatabase

\dt


这将显示数据库中的所有表格。

## 关闭和清理容器

当你完成工作后,可以使用以下命令关闭和移除 PostgreSQL 12 容器:

```bash
```bash
docker-compose down

这将停止并移除容器,但不会删除数据卷。如果你希望完全删除数据卷,可以使用以下命令:

```bash
docker-compose down -v

总结

通过这篇文章,你学会了如何使用 Docker Compose 快速安装和配置 PostgreSQL 12 数据库。借助 Docker,我们可以轻松地创建和管理数据库容器,使开发和测试过程更加便捷和高效。

希望本文能对你有所帮助,祝你学习愉快!