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

Docker部署PostgreSQL

一、 说明

  • 系统

    Ubuntu 24.04。

  • PostgreSQL 版本

    18。

  • Docker 版本

    29.1.3。

  • Docker Compose 版本

    v5.0.0。

二、部署

目录结构

/www/common# tree -a -L 3 $(pwd) /www/common ├── .env ├── docker-compose.yml ├── mysql │ ├── conf.d │ │ └── custome.conf │ └── data ├── nginx │ ├── conf.d │ │ └── python_talk.conf │ ├── logs │ │ ├── access.log │ │ ├── error.log │ │ └── python_talk │ └── nginx.conf ├── postgres │ └── data └── redis ├── conf │ └── redis.conf └── data └── dump.rdb

docker-compose.yml

# filename: docker-compose.yml # 虽然新版的 docker compose 已经不推荐使用 version, 但是考虑到向后兼容性,暂保留. version: '3' services: postgres: image: postgres:18.4 container_name: postgres restart: always hostname: postgres environment: TZ: Asia/Shanghai POSTGRES_USER: postgres POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} # ${POSTGRES_PASSWORD} 来自于 .env 文件 ports: - "5432:5432" volumes: - ./postgres/data:/var/lib/postgresql/18/docker # 从 18 开始这样设置,18之前是:/var/lib/postgresql/data networks: - default # 如果有多个服务,使用 default 的好处是如果 name 变化,只要改一个地方即可;如果只有一个,那么也可以直接使用自定义的 name networks: default: name: backend # 这是 network 的名称 external: true # external 的意思是:是否使用外部创建的 network;如果为 True, 需要手动创建。

.env

# filename: .env. # .env 和 docker-compose.yml 位于同一层目录 # Postgres POSTGRES_PASSWORD=root

三、总结

工作中用 PostgreSQL 较少,这里做一个记录,Docker 部署的话重点是了解 Docker, Docker Compose 的用法,PostgreSQL 的知识用不到多少,需要了解一些新版本的设置即可。

有时候对版本不熟悉,就会看到各种写法,就会纠结用哪种,或者出现混用,导致运行不起来,让人感觉寸步难行,所以这里记录一下本人在实际工作中采用的部署,供大家参考。

欢迎搜索及关注:编程人(a_codists)

http://www.cnnetsun.cn/news/3075922.html

相关文章:

  • Playwright混沌工程实战:构建AI增强的韧性Web自动化测试体系
  • 【LeetCode】反转字符串
  • 京东开源实时视频视觉语言交互模型:全栈方案解析与落地实践
  • 智能体颠覆安全-360图龙锋如何用蜂群路线打造中国版Mythos
  • Java 26 发布了, 我人麻了。。
  • 玩三角洲要高配?2026年这5款旗舰游戏本让你杀穿新赛季
  • AI模型门控发布机制解析:原理、实践与行业应用
  • 2026全球EMBA客观测评:科学选型与优质项目解析
  • 工程师转型AI:从跑通Demo到收藏实战秘籍,拒绝高数劝退!
  • 微信聊天记录备份终极指南:如何安全保护你的数字记忆
  • UMDF驱动开发入门:二 详解INF文件与设备类选择
  • 软件测试——黑盒测试
  • AI Agent 三种记忆的工程落地
  • 网络安全事件报告——伪CAPTCHA诱骗用户运行危险的PowerShell脚本
  • 小白可懂的保姆级 Redis 教程
  • ponytail爆火:专治AI编程过度造轮子,代码直接砍半
  • 解密 MCP:开启 AI 与数据交互的新标准
  • 新课标下,小学数学最需要的能力不是“算得快“,而是“想得通“
  • 深入认识ClassLoader - 一次投产失败的复盘
  • DeepSeek美化-为 DeepSeek 网页版引入 Obsidian Border 主题视觉风格
  • RAG基础
  • 做智驾十年,为何Momenta上市换锚?
  • 企业DLP选型指南:从入门到决策,一篇讲透
  • PEAK框架:自然语言驱动的GPU内核优化技术解析
  • Lyra框架:RISC-V处理器验证的异构加速与语义生成技术
  • 郑州翻译公司 俄语保险翻译清单
  • 模板题这道模板题非常全面,相比应用李超线段树的时候实现的东西要多的多:
  • 基于STM32单片机的颜色识别 TCS3200 RGB 检测系统2(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)
  • X-diagnosis实战案例:解决生产环境中的10个典型系统故障
  • Spring MVC的工作流程