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

嗨,各位技术爱好者!今天我们要聊的是如何在 Ubuntu 系统中通过 Docker 部署 PostgreSQL(简称 PSQL)服务器。对于那些还不熟悉 Docker 和 PSQL 的小伙伴,Docker 是一个开源的容器化平台,可以让你轻松构建、部署和管理应用。而 PostgreSQL 是一个功能强大的开源关系数据库管理系统,以其稳定性和强大的功能而闻名。

Docker 和 PSQL 简介

  • Docker:通过容器技术,Docker 使得应用打包、分发和运行变得无比简单。你可以在任何环境中运行容器,而不必担心依赖问题,这就像为你的应用提供了一个隔离的"沙盒"环境。

  • PostgreSQL:作为一个成熟的数据库,PostgreSQL 支持先进的数据类型、复杂的查询和高并发处理。它的扩展性和强大的性能使其成为开发者的首选。

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

下面是详细的步骤,你只需按照命令逐步操作,轻松搞定!

1. 安装 Docker

首先,确保你的 Ubuntu 系统上安装了 Docker。运行以下命令:

复制代码
sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker

2. 拉取 PostgreSQL 镜像

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

复制代码
sudo docker pull postgres:latest

3. 创建 Docker 网络(可选)

为了管理容器间的通信,可以创建一个自定义网络:

复制代码
sudo docker network create psql-network

4. 运行 PostgreSQL 容器

使用以下命令运行 PostgreSQL 容器,你可以根据需要修改环境变量:

复制代码
sudo docker run --name my-postgres \
  --network psql-network \
  -e POSTGRES_USER=myuser \
  -e POSTGRES_PASSWORD=mypassword \
  -e POSTGRES_DB=mydatabase \
  -p 5432:5432 \
  -d postgres:latest
参数说明:
  • --name my-postgres:指定容器名称。
  • --network psql-network:指定使用的网络。
  • -e POSTGRES_USER=myuser:设置 PostgreSQL 用户名。
  • -e POSTGRES_PASSWORD=mypassword:设置用户密码。
  • -e POSTGRES_DB=mydatabase:设置默认数据库名称。
  • -p 5432:5432:将容器的 5432 端口映射到主机的 5432 端口。
  • -d:以后台模式运行容器。

5. 验证 PostgreSQL 是否运行

运行以下命令,查看容器状态:

复制代码
sudo docker ps

如果看到你的容器在列表中,那就说明 PostgreSQL 正在运行。

6. 连接到 PostgreSQL

使用 psql 工具或任何 PostgreSQL 客户端连接到数据库,命令如下:

复制代码
psql -h localhost -U myuser -d mydatabase

输入密码后,如果成功连接,恭喜你!你已经成功在 Docker 中部署了 PostgreSQL 服务器。

总结

通过 Docker 部署 PostgreSQL 是一件简单而高效的事情。无论是开发环境还是生产环境,Docker 都能为你的应用提供一个稳定而灵活的运行平台。祝你在数据的海洋中遨游愉快!

相关推荐
tryCbest3 小时前
Python 文件操作
服务器·python
梦梦代码精3 小时前
电商系统不是技术堆叠:LikeShop如何用分层Hold住复杂业务?
java·docker·代码规范
负责的蛋挞3 小时前
异步HttpModule的实现方式
java·服务器·前端
☆cwlulu3 小时前
调试排查工具介绍(gdb、strace、Valgrind等)
开发语言·c++·嵌入式硬件·ubuntu
Tian_Hang3 小时前
Eclipse Ditto 物模型相关代码
java·运维·服务器·ide·eureka·eclipse
zhoupenghui1685 小时前
【AI大模型应用开发】【项目实战】13.RAG智慧问答项目-(一)项目介绍&项目架构&项目环境配置
人工智能·docker·ai·milvus·rag·attu·rag智慧问答项目
瓶中怪5 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
iangyu5 小时前
linux配置时间同步
linux·运维·服务器
从零开始的代码生活_5 小时前
NAT、代理服务与内网穿透详解
linux·服务器·网络·c++·http·智能路由器
灯厂码农6 小时前
C语言内存管理——内存对齐与共用体union
linux·服务器·c语言