通过 Docker 部署 pSQL 服务器的教程

ops/2025/2/2 11:30:40/

在这篇文章中,我们将深入探讨如何利用 Docker 在 Azure 上快速部署 PostgreSQL(pSQL)服务器。这个过程不仅简单高效,还能为你的开发环境提供强大的支持。

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

首先,你只需一个有效的教育邮箱(通常以 .edu.cn 结尾),即可申请 Microsoft Azure 的学生订阅。这个订阅为你提供 100 美元的免费额度,足够用来创建虚拟机和其他服务。申请过程无需信用卡,只需验证你的校园邮箱即可23。此外,拥有 Edu 邮箱的用户还可以申请免费的 Adobe Creative Cloud 和 Notion 等软件,这些工具将极大地提升你的学习和工作效率。如果你找不到申请 Edu 邮箱的途径,可以参考我往期的文章。

在 Azure 100 学生订阅中新建一台 Ubuntu VPS,并通过 Docker 部署 pSQL 服务器

软件简介

Docker 是一个开源平台,允许开发者打包应用及其依赖项到一个可移植的容器中,这样应用可以在任何环境中一致地运行。它简化了应用的部署和管理,尤其是在微服务架构中。PostgreSQL (pSQL) 是一个功能强大的开源关系数据库管理系统,以其稳定性和扩展性著称。它支持多种数据类型和高并发的访问,是许多企业和开发者的首选数据库。

部署步骤

以下是在 Ubuntu 系统上通过 Docker 部署 pSQL 服务器的详细步骤:

  1. 创建 Ubuntu 虚拟机
    登录到 Azure 门户,选择“创建资源”,然后选择“虚拟机”。选择 Ubuntu 作为操作系统,并根据需要配置实例类型(推荐使用 B1s 规格以确保免费)。
  2. 安装 Docker
    在创建好的 Ubuntu 虚拟机上,运行以下命令以安装 Docker:

    sudo apt update sudo apt install docker.io -y sudo systemctl start docker sudo systemctl enable docker

  3. 拉取 PostgreSQL 镜像
    使用以下命令从 Docker Hub 拉取 PostgreSQL 镜像:

    sudo docker pull postgres

  4. 运行 PostgreSQL 容器
    使用以下命令启动 PostgreSQL 容器,并设置环境变量以配置数据库用户和密码:
     

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

    • --name my_postgres:为容器指定一个名称。
    • -e POSTGRES_USER=myuser:设置数据库用户名。
    • -e POSTGRES_PASSWORD=mypassword:设置数据库密码。
    • -d:后台运行容器
    • -p 5432:5432:映射容器端口到主机端口。
  5. 验证 PostgreSQL 是否成功运行
    使用以下命令检查容器状态:
     

    sudo docker ps

  6. 连接到 PostgreSQL 数据库
    可以使用 psql 工具或任何支持 PostgreSQL 的客户端连接到数据库:
     

    psql -h localhost -U myuser -d postgres

以上步骤将帮助你在 Azure 上成功部署一个运行中的 PostgreSQL 数据库。通过这种方式,你可以快速搭建开发环境,支持你的项目需求。


http://www.ppmy.cn/ops/155022.html

相关文章

基于SpringBoot的新闻资讯系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

C# 类与对象详解

.NET学习资料 .NET学习资料 .NET学习资料 在 C# 编程中,类与对象是面向对象编程的核心概念。它们让开发者能够将数据和操作数据的方法封装在一起,从而构建出模块化、可维护且易于扩展的程序。下面将详细介绍 C# 中类与对象的相关知识。 一、类的定义 …

变量和常量

一.变量 1.标准声明 var 变量名 变量类型 变量声明行末不需要分号 2..批量声明 package main import "fmt" func main(){var(a string b int c boold float32)}3.变量的初始化 var a int 10 var b float321.1 4.类型推导 var name"tom" var age18 fmt.Pr…

Docker + Nginx 部署个人静态博客指南

本文是一个使用 Docker 和 Nginx 部署个人静态博客的指南。通过本指南,您可以快速了解如何使用 Docker 和 Nginx 部署自己的静态博客网站。 前提 在开始使用本指南之前,请具备以下前提: 首先你得有个服务器服务器已经安装好Git、Vim等工具一…

【实战篇章】深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据

文章目录 深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据一、服务器如何响应前端请求HTTP 请求生命周期全解析1.前端发起 HTTP 请求(关键细节强化版)2. 服务器接收请求(深度优化版) 二、后端如何查看前…

Git进阶之旅:Git 配置信息 Config

Git 配置级别: 仓库级别:local [ 优先级最高 ]用户级别:global [ 优先级次之 ]系统级别:system [ 优先级最低 ] 配置文件位置: git 仓库级别对应的配置文件是当前仓库下的 .git/configgit 用户级别对应的配置文件时用…

pytorch生成对抗网络

人工智能例子汇总:AI常见的算法和例子-CSDN博客 生成对抗网络(GAN,Generative Adversarial Network)是一种深度学习模型,由两个神经网络组成:生成器(Generator)和判别器&#xff0…

Linux抢占式内核:技术演进与源码解析

一、引言 Linux内核作为全球广泛使用的开源操作系统核心,其设计和实现一直是计算机科学领域的研究热点。从早期的非抢占式内核到2.6版本引入的抢占式内核,Linux在实时性和响应能力上取得了显著进步。本文将深入探讨Linux抢占式内核的引入背景、技术实现以及与非抢占式内核的…