Bootstrap

在 Ubuntu 上通過 Docker 部署 pSQL 伺服器

引言

Yo,各位极客们,今天 Hitch 我将手把手教你们如何在 Ubuntu 系统上通过 Docker 部署 pSQL 服务器。这可是构建现代应用的基础设施,能帮你们快速搭建 pSQL 数据库环境,方便开发和测试。废话不多说,直接上干货!

Docker 和 pSQL 简介

Docker

Docker 就像一个“集装箱”,把你的应用和依赖都装进去,然后可以在任何支持 Docker 的机器上运行。它轻量级、可移植,简直是开发部署的利器!

pSQL

pSQL (PostgreSQL) 是个强大的开源关系型数据库,稳定可靠,功能丰富。它支持 ACID 事务、MVCC、面向对象特性,还有各种高级功能,是企业级应用的首选。

实验环境

  • 服务器:三丰云免费服务器 (1 核 / 1G 内存 / 5M 带宽)
  • 操作系统:Ubuntu 20.04 LTS
  • Docker 版本:Docker version 20.10.12, build 20.10.12-0ubuntu1~20.04.1
  • pSQL 版本:PostgreSQL 13.3

这次的是三丰云的免费服务器,配置是 1 核 / 1G 内存 / 5M 带宽。对于这次部署 pSQL 服务器的测试来说,基本够用。

部署步骤

  1. 安装 Docker

    如果你的 Ubuntu 系统还没装 Docker,那就先装一下:

    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io -y
    sudo systemctl enable docker
    
  2. 拉取 pSQL 镜像

    sudo docker pull postgres:13
    
  3. 创建 pSQL 容器

    sudo docker run -d \
    -p 5432:5432 \
    -e POSTGRES_USER=your_user \
    -e POSTGRES_PASSWORD=your_password \
    -e POSTGRES_DB=your_database \
    --name psql-server \
    postgres:13
    

    参数说明

    • -d:后台运行容器。
    • -p 5432:5432:把容器的 5432 端口映射到主机的 5432 端口。
    • -e POSTGRES_USER=your_user:设置 pSQL 用户名。
    • -e POSTGRES_PASSWORD=your_password:设置 pSQL 密码。
    • -e POSTGRES_DB=your_database:设置 pSQL 数据库名。
    • --name psql-server:设置容器名称。
    • postgres:13:指定使用的 pSQL 镜像和版本。
  4. 验证 pSQL 服务器

    运行以下命令检查 pSQL 容器是否正在运行:

    sudo docker ps
    

    如果看到名为 psql-server 的容器正在运行,就表示 pSQL 服务器部署成功了。你可以用 psql 命令行工具或 GUI 工具连接到 pSQL 服务器,进行数据库操作。

总结

Yo,各位,今天 Hitch 我教你们如何在 Ubuntu 系统上通过 Docker 部署 pSQL 服务器。希望这篇文章对你们有所帮助!记住,技术是用来改变世界的,动手实践才能真正掌握。

;