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

相关推荐
v***85743 分钟前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
报错小能手44 分钟前
讲讲libevent底层机制
linux·服务器
i***22073 小时前
springboot整合libreoffice(两种方式,使用本地和远程的libreoffice);docker中同时部署应用和libreoffice
spring boot·后端·docker
大柏怎么被偷了4 小时前
【Linux】进程等待
linux·运维·服务器
互联网老欣5 小时前
2025年保姆级教程:阿里云服务器部署Dify+Ollama,打造专属AI应用平台
服务器·阿里云·ai·云计算·dify·ollama·deepseek
羑悻的小杀马特5 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
悦悦欧呐呐呐呐6 小时前
数据库事务是什么,怎么用的
服务器·数据库·oracle
想唱rap7 小时前
C++ map和set
linux·运维·服务器·开发语言·c++·算法
CodeByV7 小时前
【Linux】Ext 系列文件系统深度解析:从磁盘到软硬链接
linux·服务器
Dillon Dong8 小时前
Django + uWSGI 部署至 Ubuntu 完整指南
python·ubuntu·django