Skip to content

Docker 部署 ​

Docker 是一种轻量级的容器化技术,能够快速部署和管理应用程序和服务。在本章节中,我们将介绍如何使用 Docker 部署 PostgreSQL 数据库,并提供常见的操作和配置技巧。

1. 安装 Docker ​

1.1 在 Windows 上安装 Docker ​

  1. 访问 Docker 官网 下载 Docker Desktop 安装包。
  2. 运行安装程序并按照提示完成安装。
  3. 安装完成后,启动 Docker Desktop。

1.2 在 macOS 上安装 Docker ​

  1. 使用 Homebrew 安装 Docker:
bash
brew install --cask docker
  1. 或者从 Docker 官网 下载并安装 Docker Desktop。

1.3 在 Linux 上安装 Docker ​

对于 Ubuntu 系统,运行以下命令进行安装:

bash
sudo apt update
sudo apt install docker.io

对于其他 Linux 发行版,请参考 Docker 安装文档。

2. 使用 Docker 部署 PostgreSQL ​

2.1 获取 PostgreSQL 镜像 ​

  1. 打开终端并拉取 PostgreSQL 官方镜像:
bash
docker pull postgres
  1. 镜像下载完成后,您可以使用 docker images 命令查看已下载的镜像列表。

2.2 运行 PostgreSQL 容器 ​

使用以下命令启动一个 PostgreSQL 容器:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -d postgres

解释:

  • --name postgres-container:为容器指定一个名称。
  • -e POSTGRES_PASSWORD=mysecretpassword:设置 PostgreSQL 的超级用户密码。
  • -d:让容器在后台运行。
  • postgres:指定使用的镜像。

2.3 访问 PostgreSQL 容器 ​

要进入正在运行的 PostgreSQL 容器并执行 SQL 查询,可以使用以下命令:

bash
docker exec -it postgres-container psql -U postgres

这会将您带到 PostgreSQL 的命令行界面。

2.4 数据持久化 ​

为了确保数据持久化,您需要将 PostgreSQL 容器的数据目录挂载到主机上。使用以下命令启动容器并挂载数据卷:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -v /path/to/host/directory:/var/lib/postgresql/data -d postgres

这样,容器中的数据将保存在 /path/to/host/directory 目录下,即使容器停止或删除,数据也会保留。

3. 配置 PostgreSQL 容器 ​

3.1 设置端口映射 ​

您可以将 PostgreSQL 容器的端口映射到主机上的指定端口。例如,使用以下命令将容器的 5432 端口映射到主机的 5432 端口:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

这样,您可以通过主机的 localhost:5432 访问 PostgreSQL 数据库。

3.2 设置自定义数据库 ​

在启动容器时,您可以通过 -e POSTGRES_DB 参数创建自定义数据库:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=mydatabase -d postgres

这样,在容器启动时,会自动创建名为 mydatabase 的数据库。

4. 管理 PostgreSQL 容器 ​

4.1 停止容器 ​

要停止 PostgreSQL 容器,可以运行以下命令:

bash
docker stop postgres-container

4.2 启动容器 ​

要重新启动停止的容器,可以使用以下命令:

bash
docker start postgres-container

4.3 删除容器 ​

如果您不再需要容器,可以使用以下命令删除容器:

bash
docker rm postgres-container

4.4 删除镜像 ​

如果您想删除不再需要的 PostgreSQL 镜像,可以使用以下命令:

bash
docker rmi postgres

5. 使用 Docker Compose 部署 PostgreSQL ​

Docker Compose 允许您定义和运行多容器 Docker 应用程序。以下是使用 Docker Compose 部署 PostgreSQL 的步骤。

5.1 创建 docker-compose.yml 文件 ​

在项目目录下创建一个 docker-compose.yml 文件,内容如下:

yaml
version: '3'
services:
  postgres:
    image: postgres
    environment:
      POSTGRES_PASSWORD: mysecretpassword
      POSTGRES_DB: mydatabase
    ports:
      - "5432:5432"
    volumes:
      - ./data:/var/lib/postgresql/data

5.2 启动服务 ​

在同一目录下运行以下命令启动 PostgreSQL 服务:

bash
docker-compose up -d

5.3 停止服务 ​

如果需要停止服务,可以运行:

bash
docker-compose down

6. 总结 ​

使用 Docker 部署 PostgreSQL 数据库具有许多优点,如快速部署、易于管理和配置。无论是使用 docker run 命令直接部署,还是使用 Docker Compose 来管理多个服务,都能大大简化 PostgreSQL 的部署和运维工作。通过这些方法,您可以轻松地在本地开发环境或生产环境中运行 PostgreSQL。

Docker 部署 ​

Docker 是一种轻量级的容器化技术,能够快速部署和管理应用程序和服务。在本章节中,我们将介绍如何使用 Docker 部署 PostgreSQL 数据库,并提供常见的操作和配置技巧。

1. 安装 Docker ​

1.1 在 Windows 上安装 Docker ​

  1. 访问 Docker 官网 下载 Docker Desktop 安装包。
  2. 运行安装程序并按照提示完成安装。
  3. 安装完成后,启动 Docker Desktop。

1.2 在 macOS 上安装 Docker ​

  1. 使用 Homebrew 安装 Docker:
bash
brew install --cask docker
  1. 或者从 Docker 官网 下载并安装 Docker Desktop。

1.3 在 Linux 上安装 Docker ​

对于 Ubuntu 系统,运行以下命令进行安装:

bash
sudo apt update
sudo apt install docker.io

对于其他 Linux 发行版,请参考 Docker 安装文档。

2. 使用 Docker 部署 PostgreSQL ​

2.1 获取 PostgreSQL 镜像 ​

  1. 打开终端并拉取 PostgreSQL 官方镜像:
bash
docker pull postgres
  1. 镜像下载完成后,您可以使用 docker images 命令查看已下载的镜像列表。

2.2 运行 PostgreSQL 容器 ​

使用以下命令启动一个 PostgreSQL 容器:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -d postgres

解释:

  • --name postgres-container:为容器指定一个名称。
  • -e POSTGRES_PASSWORD=mysecretpassword:设置 PostgreSQL 的超级用户密码。
  • -d:让容器在后台运行。
  • postgres:指定使用的镜像。

2.3 访问 PostgreSQL 容器 ​

要进入正在运行的 PostgreSQL 容器并执行 SQL 查询,可以使用以下命令:

bash
docker exec -it postgres-container psql -U postgres

这会将您带到 PostgreSQL 的命令行界面。

2.4 数据持久化 ​

为了确保数据持久化,您需要将 PostgreSQL 容器的数据目录挂载到主机上。使用以下命令启动容器并挂载数据卷:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -v /path/to/host/directory:/var/lib/postgresql/data -d postgres

这样,容器中的数据将保存在 /path/to/host/directory 目录下,即使容器停止或删除,数据也会保留。

3. 配置 PostgreSQL 容器 ​

3.1 设置端口映射 ​

您可以将 PostgreSQL 容器的端口映射到主机上的指定端口。例如,使用以下命令将容器的 5432 端口映射到主机的 5432 端口:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

这样,您可以通过主机的 localhost:5432 访问 PostgreSQL 数据库。

3.2 设置自定义数据库 ​

在启动容器时,您可以通过 -e POSTGRES_DB 参数创建自定义数据库:

bash
docker run --name postgres-container -e POSTGRES_PASSWORD=mysecretpassword -e POSTGRES_DB=mydatabase -d postgres

这样,在容器启动时,会自动创建名为 mydatabase 的数据库。

4. 管理 PostgreSQL 容器 ​

4.1 停止容器 ​

要停止 PostgreSQL 容器,可以运行以下命令:

bash
docker stop postgres-container

4.2 启动容器 ​

要重新启动停止的容器,可以使用以下命令:

bash
docker start postgres-container

4.3 删除容器 ​

如果您不再需要容器,可以使用以下命令删除容器:

bash
docker rm postgres-container

4.4 删除镜像 ​

如果您想删除不再需要的 PostgreSQL 镜像,可以使用以下命令:

bash
docker rmi postgres

5. 使用 Docker Compose 部署 PostgreSQL ​

Docker Compose 允许您定义和运行多容器 Docker 应用程序。以下是使用 Docker Compose 部署 PostgreSQL 的步骤。

5.1 创建 docker-compose.yml 文件 ​

在项目目录下创建一个 docker-compose.yml 文件,内容如下:

yaml
version: '3'
services:
  postgres:
    image: postgres
    environment:
      POSTGRES_PASSWORD: mysecretpassword
      POSTGRES_DB: mydatabase
    ports:
      - "5432:5432"
    volumes:
      - ./data:/var/lib/postgresql/data

5.2 启动服务 ​

在同一目录下运行以下命令启动 PostgreSQL 服务:

bash
docker-compose up -d

5.3 停止服务 ​

如果需要停止服务,可以运行:

bash
docker-compose down

6. 总结 ​

使用 Docker 部署 PostgreSQL 数据库具有许多优点,如快速部署、易于管理和配置。无论是使用 docker run 命令直接部署,还是使用 Docker Compose 来管理多个服务,都能大大简化 PostgreSQL 的部署和运维工作。通过这些方法,您可以轻松地在本地开发环境或生产环境中运行 PostgreSQL。

Released under the MIT License.