使用 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 服务器的详细教程。希望这篇文章能帮助到您,并让您的开发工作更加高效。

相关推荐
getapi7 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-19437 小时前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑7 小时前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
说实话起个名字真难啊7 小时前
用docker来安装openclaw
docker·ai·容器
Trouvaille ~7 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
恬静的小魔龙7 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_8 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
一方热衷.9 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
m0_694845579 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
*小海豚*9 小时前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器