在Ubuntu下通过Docker部署PSQL服务器

news/2025/2/25 18:44:33

嘿,朋友们,今天我们来聊聊如何在Ubuntu上通过Docker部署PostgreSQL(PSQL)服务器。Docker让我们可以轻松管理应用程序的环境,而PostgreSQL是个强大的开源关系数据库。它以其稳定性、扩展性和丰富的功能而著称,支持复杂的查询和事务处理,适合各种规模的项目。

Docker和PostgreSQL介绍

Docker是一个开源平台,用于自动化部署、扩展和管理应用程序容器。它允许开发者将应用及其依赖项打包到一个轻量级的、可移植的容器中,确保在任何环境中都能一致地运行。

PostgreSQL(PSQL)是一种强大的对象关系数据库管理系统,支持SQL标准和许多高级功能,如事务、并发控制和丰富的数据类型。它适用于需要复杂查询和高性能的应用。

我们使用的是三丰云的免费服务器,配置为1核CPU、1GB内存和5M带宽。对于小型项目或测试环境来说,这个配置足够了。尽管在高负载情况下可能略显紧张,但对于一般的开发和学习测试,完全可以满足需求。

在Ubuntu下通过Docker部署PSQL服务器

下面是详细的步骤:

1. 安装Docker

首先,确保你的Ubuntu系统已经安装了Docker。可以通过以下命令进行安装:

sudo apt update
sudo apt install docker.io

安装完成后,启动Docker并设置为开机自启动:

sudo systemctl start docker
sudo systemctl enable docker
2. 拉取PostgreSQL镜像

接下来,拉取最新的PostgreSQL镜像:

sudo docker pull postgres
3. 创建Docker网络(可选)

为了更好地管理容器,你可以创建一个Docker网络:

sudo docker network create my_network
4. 运行PostgreSQL容器

运行PostgreSQL容器,使用以下命令:

sudo docker run --name my_postgres \
  --network my_network \
  -e POSTGRES_USER=myuser \
  -e POSTGRES_PASSWORD=mypassword \
  -e POSTGRES_DB=mydatabase \
  -p 5432:5432 \
  -d postgres

参数说明

  • --name my_postgres:容器名称。
  • --network my_network:指定网络。
  • -e POSTGRES_USER=myuser:设置PostgreSQL用户名。
  • -e POSTGRES_PASSWORD=mypassword:设置用户密码。
  • -e POSTGRES_DB=mydatabase:创建初始数据库。
  • -p 5432:5432:映射端口。
  • -d:后台运行容器。
5. 验证容器运行状态

使用以下命令检查容器状态:

sudo docker ps

确保你的PostgreSQL容器正在运行。

6. 连接到PostgreSQL

你可以使用psql工具或任何数据库客户端连接到你的PostgreSQL数据库。使用以下命令连接:

sudo docker exec -it my_postgres psql -U myuser -d mydatabase

总结

通过以上步骤,你已经成功在Ubuntu上通过Docker部署了PostgreSQL服务器。Docker的便利性和Post


http://www.niftyadmin.cn/n/5865842.html

相关文章

Wireshark简单教程

1.打开Wireshark,点击最上面栏目里面的“捕获”中的“选项” 2.进入网卡选择界面,选择需要捕获的选择,这里我选择WLAN 3.双击捕获选择出现下面界面 4.点击如下图红方框即可停止捕获 5.点击下图放大镜可以进行放大 6.你也可以查询tcp报文如下图

C++双指针:算法优化的“左右互搏术”与高效问题破解全指南

C双指针:算法优化的“左右互搏术”与高效问题破解全指南 开篇故事:迷宫中的“双人探路策略” 想象两名探险者在迷宫中寻找出口: 快慢指针:一人快速探索死路,另一人稳步记录正确路径。左右指针:两人从两端…

VoIP之音频3A技术

音频3A技术是改善语音通话质量的三种关键技术的简称,包括声学回声消除(Acoustic Echo Cancellation, AEC)、自动增益控制(Automatic Gain Control, AGC)、自噪声抑制(Automatic Noise Suppression, ANS&…

SpringSecurity的核心过滤器-CsrfFilter

Spring Security除了认证授权外功能外,还提供了安全防护功能。本文我们来介绍下SpringSecurity中是如何阻止CSRF攻击的。 一、什么是CSRF攻击 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF…

deepseek 导出导入模型(docker)

前言 实现导出导入deepseek 模型。deepseek 安装docker下参考 docker 导出模型 实际生产环境建议使用docker-compose.yml进行布局,然后持久化ollama模型数据到本地参考 echo "start ollama" docker start ollama#压缩容器内文件夹,然后拷贝…

Rust 中的引用循环与内存泄漏

一、引用计数与引用循环 在 Rust 中&#xff0c;Rc<T> 允许多个所有者共享同一个数据&#xff0c;当调用 Rc::clone 时&#xff0c;会增加内部的引用计数&#xff08;strong_count&#xff09;。只有当引用计数降为 0 时&#xff0c;对应的内存才会被释放。 然而&#…

番外·卓伊凡参加 [2025年2月HDD·鸿蒙赋能交流会·成都站] 线下活动的心得体会-优雅草卓伊凡

番外卓伊凡参加 [2025年2月HDD鸿蒙赋能交流会成都站] 线下活动的心得体会-优雅草卓伊凡 背景 2025 年 2 月 22 日&#xff0c;HDD・鸿蒙赋能交流会将在北京、长沙、成都、南京、雄安同步开展。此次交流会由 HDG 组织者牵头&#xff0c;携手 HUAWEI DEVELOPER EXPERTS&#xf…

Github更新本地仓库到远程总是失败文件过大,如何解决。

环境&#xff1a; AI-Sphere-Butler 问题描述&#xff1a; Github更新本地仓库到远程总是失败文件过大&#xff0c;如何解决。 解决方案&#xff1a; 问题核心在于 历史提交中仍然存在未被 LFS 正确追踪的大文件。 终极解决方案 (必须按顺序执行) 第一步&#xff1a;修…