使用 Docker 部署 pSQL 服务器 的教程

如何使用 Edu 邮箱申请 Azure 订阅并开通免费 VPS

使用 Edu 邮箱不仅可以申请 Azure 的免费订阅来开通 VPS,还可以免费使用 Adobe 和 Notion 等软件,极大地提高学习和工作的效率。如果您还没有 Edu 邮箱,可以参考在线笔记s3.tebi.io/notes-image/edu笔记.pdf获取相关信息和申请方法。

新建一台 Ubuntu VPS 并通过 Docker 部署 pSQL 服务器

在获得 Azure 订阅后,您可以按照以下步骤在其中新建一台 Ubuntu VPS,并在该 VPS 上通过 Docker 部署 pSQL 服务器。以下是详细的教程:

1. Docker 和 pSQL 简介

Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖项打包成一个轻量级的容器,可以在任何环境中运行。它利用操作系统级的虚拟化来交付软件。

PostgreSQL (pSQL) 是一个功能强大的开源对象关系数据库系统,以其高性能和稳定性著称,常用于复杂的应用程序。

2. 在 Ubuntu 上通过 Docker 部署 pSQL 服务器
步骤一:更新系统

首先,确保您的系统是最新的。更新 Ubuntu 系统包:

sudo apt-get update sudo apt-get upgrade

步骤二:安装 Docker

安装 Docker 是部署 pSQL 服务器的关键步骤。执行以下命令来安装 Docker:

sudo apt-get install -y docker.io

启动 Docker 并设置其开机自启动:

sudo systemctl start docker sudo systemctl enable docker

验证 Docker 是否安装成功:

docker --version

步骤三:拉取 PostgreSQL 镜像

从 Docker Hub 拉取最新的 PostgreSQL 镜像:

docker pull postgres

步骤四:运行 PostgreSQL 容器

创建并运行 PostgreSQL 容器。此步骤中,我们设置了数据库名称、用户名和密码:

docker run --name my_postgres -e POSTGRES_DB=mydb -e POSTGRES_USER=myuser -e POSTGRES_PASSWORD=mypassword -p 5432:5432 -d postgres

上述命令的参数解释:

  • --name my_postgres:指定容器名称为 my_postgres
  • -e POSTGRES_DB=mydb:设置数据库名称为 mydb
  • -e POSTGRES_USER=myuser:设置数据库用户名为 myuser
  • -e POSTGRES_PASSWORD=mypassword:设置数据库密码为 mypassword
  • -p 5432:5432:将主机的 5432 端口映射到容器的 5432 端口。
  • -d:后台运行容器。
步骤五:验证 PostgreSQL 服务器

确认 PostgreSQL 服务器是否正常运行。进入 PostgreSQL 容器:

docker exec -it my_postgres bash

在容器内使用 psql 命令连接数据库:

psql -U myuser -d mydb

成功连接后,您可以执行 SQL 查询来验证数据库的功能。例如,创建一个表并插入数据:

CREATE TABLE test (id SERIAL PRIMARY KEY, name VARCHAR(50)); INSERT INTO test (name) VALUES ('DockerTest'); SELECT * FROM test;

通过以上步骤,您已经成功在 Ubuntu VPS 上通过 Docker 部署了 PostgreSQL 服务器。现在可以根据需要配置和使用这个数据库。

以上就是通过 Docker 部署 pSQL 服务器的详细教程。希望这篇文章能帮助到您,并让您的开发工作更加高效。

相关推荐
梦想的颜色6 小时前
硬核实践:使用 Docker 部署生产级 Redis(持久化 + 安全配置 + 高可用)
redis·docker·redis持久化·docker compose·redis哨兵·rdb aof
weixin_471383036 小时前
Docker - 05 - 构建流程
运维·docker·容器
夏玉林的学习之路6 小时前
如何远程连接服务器
运维·服务器
影寂ldy8 小时前
C# try-catch 异常处理全套笔记
服务器·数据库·c#
fei_sun8 小时前
黑洞路由(Null Route/空接口路由)
服务器·前端·javascript
ejinxian9 小时前
微虚拟机 smolvm 与Docker 容器比较
运维·docker·容器·smolvm
爱码少年10 小时前
Docker如何一次查看多个容器日志
运维·docker·容器
蜀道山老天师10 小时前
K8s 数据存储全解析:从 EmptyDir 到 PV/PVC
云原生·容器·kubernetes
researcher-Jiang10 小时前
高性能计算之MPI:第一次MPI并行程序设计练习
linux·运维·服务器
Sean‘11 小时前
GitLab 升级后 502:Puma 反复重启问题处理记录
docker·gateway·gitlab