在 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 都能为你的应用提供一个稳定而灵活的运行平台。祝你在数据的海洋中遨游愉快!

相关推荐
生活很暖很治愈7 分钟前
Linux——环境变量PATH
linux·ubuntu
?re?ta?rd?ed?9 分钟前
linux中的调度策略
linux·运维·服务器
hweiyu0021 分钟前
Linux 命令:tr
linux·运维·服务器
Trouvaille ~24 分钟前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
allway229 分钟前
基于华为taishan200服务器、arm架构kunpeng920 cpu的虚拟化实战
linux·运维·服务器
Junlan2730 分钟前
Cursor使用入门及连接服务器方法(更新中)
服务器·人工智能·笔记
CSCN新手听安30 分钟前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll
熊文豪30 分钟前
服务器炸了才知道?Ward+cpolar让异常无处藏
运维·服务器·cpolar
杜子不疼.32 分钟前
【Linux】教你在 Linux 上搭建 Web 服务器,步骤清晰无门槛
linux·服务器·前端
荔枝吻33 分钟前
忘记服务器密码,在Xshell7中查看已保存密码
运维·服务器·github