当前位置: 首页 > article >正文

ubuntu22.04 docker-compose安装postgresql数据库

在 Ubuntu 22.04 上使用 Docker Compose 来安装和运行 PostgreSQL 数据库的过程如下:

1. 创建 Docker Compose 文件

在项目文件夹中创建一个 docker-compose.yml 文件,以配置 PostgreSQL 数据库的服务。

mkdir postgres_docker
cd postgres_docker
touch docker-compose.yml

2. 配置 docker-compose.yml

docker-compose.yml 中定义 PostgreSQL 服务的配置,设置数据库名称、用户名和密码等。

version: '3.8'

services:
  postgres:
    image: postgres:14  # 使用 PostgreSQL 14 版本,你可以选择其他版本
    container_name: postgres_container  # 容器名称
    environment:
      POSTGRES_DB: mydatabase  # 数据库名称
      POSTGRES_USER: myuser    # 数据库用户名
      POSTGRES_PASSWORD: mypassword  # 数据库密码
    volumes:
      - pg_data:/var/lib/postgresql/data  # 持久化数据卷
    ports:
      - "5432:5432"  # 映射端口

volumes:
  pg_data:

3. 运行 Docker Compose

在终端中运行以下命令来启动 PostgreSQL 容器:

docker-compose up -d

这个命令会下载 PostgreSQL 的 Docker 镜像并启动容器。

4. 验证 PostgreSQL 是否运行

要确认 PostgreSQL 容器是否已成功启动,可以使用以下命令查看正在运行的容器:

docker ps

你应该会看到一个名为 postgres_container 的容器在端口 5432 上运行。

5. 连接到 PostgreSQL 数据库

可以使用 psql 客户端连接到 PostgreSQL 数据库,或者通过任何 PostgreSQL GUI 工具(如 DBeaver、pgAdmin)连接。也可以直接进入容器并使用 psql

docker exec -it postgres_container psql -U myuser -d mydatabase

这将打开 psql 命令行界面,连接到 mydatabase 数据库。

6. 停止和删除容器

如果想停止并删除容器,可以使用以下命令:

docker-compose down

这将停止 PostgreSQL 容器,并释放端口 5432

完整配置总结

现在,你的 docker-compose.yml 文件中配置了 PostgreSQL,并且数据将保存在一个持久化卷中。你可以通过端口 5432 访问 PostgreSQL 数据库,并根据需要修改 POSTGRES_DBPOSTGRES_USERPOSTGRES_PASSWORD 的值来设置数据库名称、用户名和密码。


http://www.kler.cn/a/384190.html

相关文章:

  • [mysql]DDL,DML综合案例,
  • 将分类标签转换为模型可以处理的数值格式
  • 3200. 三角形的最大高度
  • 将Notepad++添加到右键菜单【一招实现】
  • 是时候用开源降低AI落地门槛了
  • React中类组件和函数组件的理解和区别
  • Jenkins声明式Pipeline流水线语法示例
  • 特定数据库的备份脚本
  • 练习LabVIEW第四十一题
  • Unity Addressables 系统处理 WebGL 打包本地资源的一种高效方式
  • Scala学习记录,List
  • 数据库中的用户管理和权限管理
  • 【Python有哪些应用场景】
  • JavaScript 23种经典设计模式简介
  • 萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
  • 青少年编程与数学 02-003 Go语言网络编程 07课题、客户端服务器模型
  • 躺平成长-利用kimi智能编辑助手开发小程序第(10)天
  • react-native:解决使用webView后部分场景在安卓10崩溃闪退问题
  • python-pyside2使用中遇到的 问题整理
  • 杭州网世:智慧医疗数据存储难题?网世科技双活方案来破解
  • 西门子KTP系列HMI用户自定义弹窗-多弹窗共用
  • 《深度学习》——深度学习基础知识(全连接神经网络)
  • 【Vue 全家桶】7、Vue UI组件库(更新中)
  • 如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
  • 《现代工业经济和信息化》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • WebStorm技巧