EN
/news/show.php/video/12763472.html

Docker 安装 PostgreSQL

2025-06-24 11:38:51 来源: 新华社
字号:默认 超大 | 打印 |

1. 安装 Docker 和 Docker Compose。

首先,确保您的服务器已经安装好了 Docker 和 Docker Compose。您可以通过以下命令检查它们是否安装:

docker --versiondocker-compose --version。

2. 创建项目目录。

创建一个存储在您服务器上的服务器 PostgreSQL Docker Compose 配置目录,例如。 my-project。

mkdir。my-project。cd。my-project。

3. 创建。 docker-compose.yml。文件。

在。 my-project。在目录中创建一个名字。 docker-compose.yml。文件,用于定义 PostgreSQL 服务:

nano。docker-compose.yml。

将以下内容粘贴到文件中:

version。:。'3.8'services。:。postgres。:。# 服务名称的定义 postgres。image。:。postgres。:。14。# 使用 PostgresQL14 镜像。container_name。:。postgres。           # 设置容器名称为 postgres。restart。:。always。                    # 配置容器总是自动重启。environment。:。POSTGRES_DB。:。mydatabase。          # 将要创建的数据库名称定义为 mydatabase。POSTGRES_USER。:。root。              # 定义 PostgreSQL 用户名称的数据库 wqg。POSTGRES_PASSWORD。:。123456。# 定义数据库用户的密码。ports。:。-。"5432:5432"# 将容器的 5432 端口映射到主机 5432 端口,数据库可以通过此端口连接到外部。volumes。:。-。./postgis/data。:。/var/lib/postgis/data。       # #xff08;假设你需要 PostGIS 数据存储)-。./postgresql。-。data。:。/var/lib/postgresql/data。 # 持久化 PostgreSQL 从数据库到主机的数据 `./postgresql-data` 目录。

进一步解释:

  1. 服务名称:postgres。您的服务名称,代表你开始的 PostgreSQL 容器。
  2. 镜像:postgres:latest。表示使用最新版本 PostgreSQL 官方镜像。
  3. 容器名称:postgres。是容器的名称,当你检查正在运行的时候 Docker 容器时,这个名字你会看到的。
  4. 重启策略:restart: always。如果容器崩溃或者 Docker 重启防护过程,容器将自动重启。
  5. 环境变量:
    • POSTGRES_DB。定义要创建的数据库名称。
    • POSTGRES_USER。定义用于访问数据库的用户名。
    • POSTGRES_PASSWORD。定义对应用户的密码。
  6. 端口映射󿄚5432:5432。将 PostgreSQL 默认端口。 5432。暴露给主机,该端口可以访问主机上的应用程序 PostgreSQL。
  7. 挂载卷:
    • ./postgis/data:/var/lib/postgis/data。假设你必须用它 PostGIS(地理空间扩展),将数据持续到主机上。 ./postgis/data。目录。注意,这里的路径应该是有效和存在的,否则会导致挂载失败。
    • ./postgresql-data:/var/lib/postgresql/data。是将 PostgreSQL 存储到主机的数据。 ./postgresql-data。࿰在目录下c;确保数据库持久。

4. 检查注意事项。

  • PostGIS 使用:假如你不打算用 PostGIS,可以去掉。 postgis/data。相关部分。
  • 目录路径:在启动容器之前,确保您挂载的本地目录(如。 ./postgresql-data。)࿰实际存在于您的服务器上c;或者你可以提前创建这些目录:
mkdir。-p ./postgis/data。mkdir。-p ./postgresql-data。

5. 启动 PostgreSQL 容器。

启动以下命令 PostgreSQL 容器:

docker-compose up -d。

6. 检查容器状态。

使用以下命令查看容器的运行状态,确保 PostgreSQL 容器。 postgres。#xff1已成功启动a;

docker。 ps。

应显示输出。 postgres。容器正在运行:

ubuntu@VM-20-7-ubuntu:~/my_project$ docker。 ps。CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                                       NAMES4f8ab61c25   postgres:latest。   "docker-entrypoint.s…"16。seconds ago   Up。 15。seconds。   0.0。.0.0:5432-。>5432。/tcp, :::5432-。>5432。/tcp   postgres。

7. 连接到 PostgreSQL。

你可以通过宿主机。 localhost。或服务器的 IP 地址,使用数据库管理工具(如 pgAdmin、DBeaver)或命令行连接 PostgreSQL:

  • 主机:localhost。或服务器 IP。
  • 端口:5432。
  • #xff1数据库名a;mydatabase。
  • 用户名:user。
  • 密码:password。

您还可以使用以下命令直接进入容器内部 PostgreSQL:

docker。 exec。-it postgres psql -U user -d mydatabase。

8. 数据持久化。

volumes。配置确保宿主机保存数据库的数据。 ./postgresql-data。目录中。即使容器停止或删除,数据仍将保留在宿主机中,确保数据安全。

以上步骤将帮助您 Docker 中配置和运行 PostgreSQL 数据库。接下来,您可以继续配置前端和后端服务,并将其整合到一起。 docker-compose.yml。࿰在文件中c;以便共同管理和部署。

【我要纠错】责任编辑:新华社