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

相关推荐
路由侠内网穿透1 小时前
本地部署开源持续集成和持续部署系统 Woodpecker CI 并实现外部访问
服务器·网络·windows·ci/cd·开源
程序猿小三1 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖2 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
啊?啊?3 小时前
4 解锁 Linux 操作新姿势:man、grep、tar ,创建用户及添加权限等 10 大实用命令详解
linux·服务器·实用指令
yannan201903133 小时前
Docker容器
运维·docker·容器
_清浅3 小时前
计算机网络【第六章-应用层】
运维·服务器·计算机网络
正在努力的小河3 小时前
Linux 自带的 LED 灯驱动实验
linux·运维·服务器
济南java开发,求内推4 小时前
Redis一个服务器部署多个节点
服务器·数据库·redis
小宁爱Python4 小时前
Windows Docker Desktop占用C盘空间过大解决办法集合
运维·docker·容器
JAVA学习通4 小时前
发布自己的 jar 包到 Maven 中央仓库 ( mvnrepository.com )
人工智能·docker·自然语言处理·容器·rocketmq