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

Docker+PostgreSQL数据库

进入docker hub,先搜索postgres,会出来一系列官方镜像,再点积Tags,搜索你的目标版本,例如我使用了16.4-alpine,这是个精简版,体积比较小

1.拉镜像

docker pull postgres:16.4-alpine

2.启动docker

docker run --name moment_db -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=.root -d postgres:16.4-alpine

--name moment_db 启动的容器名称

 -p 端口映射,宿主机5432映射到docker5432port

-e初始化环境参数,这里初始了用户名和密码

-d 指定docker的镜像名称

3.检测启动

docker container ls

或者

nmap 127.0.0.1

 两种方法都行,namp需要安装下,windows系统可以在wsl子系统里安装运行。如下图。5432端口已经被打开使用

 4.启动和关闭这个docker可以使用

docker stop moment_db
docker start moment_db

5.进入docker容器内

docker exec -it moment_db /bin/bash

数据目录在  /var/lib/postgresql/data下

接下来做数据库文件永久化保存,避免容器删除带来的数据损失

首先为docker建立专用卷

docker volume create --name v_moment_db_data

查看卷,第一个是在容器创建的时候默认卷,第二个是新建专用卷 

6.查看卷的信息

docker volume inspect v_moment_db_data

"Mountpoint": "/var/lib/docker/volumes/v_test/_data", 就是宿主机的数据同步位置,这里是因为win下面使用了wsl2,所以自动关联到wsl2目录下。

7.关闭并删除刚刚的容器,重新启动一个容器并绑定卷,指令:

docker run --name moment_db -v v_moment_db_data:/var/lib/postgresql/data -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=.root -d postgres:16.4-alpine

8.使用以下指令观察容器结果:

docker inspect moment_db

Mounts:部分,可以看Source部分是创建的卷,这个是由docker volume指令创建的,位置在宿主机是固定的,不可更改的,它已经绑定到了docker容器内的“Destination”的路径上 

9.也可以直接绑定固定位置不使用官方的create volume

docker run --name moment_db -v /home/server/SqlData/MomentDB:/var/lib/postgresql/data -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=.root -d postgres:16.4-alpine


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

相关文章:

  • redis的map底层数据结构 分别什么时候使用哈希表(Hash Table)和压缩列表(ZipList)
  • 神经网络12-Time-Series Transformer (TST)模型
  • (Keil)MDK-ARM各种优化选项详细说明、实际应用及拓展内容
  • 七天掌握SQL--->第四天:事务处理与并发控制
  • std::unique_ptr源码中构造函数的偏特化。_Unique_ptr_enable_default_t
  • 第三十九篇 ShuffleNet V1、V2模型解析
  • java: itext8.05 create pdf
  • 初始Python篇(7)—— 正则表达式
  • 【Y20030005】Java+JSP+MySQL+Servlet的网络购物商城的设计与实现
  • RK3588适配MTK7921 USB接口WiFi驱动开发
  • mini-lsm通关笔记Week2Day5
  • 扩散模型中IGSO(3)分布PDF的近似表示
  • 鸿蒙学习高效开发与测试-集成开发环境(4)
  • 网络安全,文明上网(4)掌握网络安全技术
  • 代码随想录算法训练营第五十三天|Day53 图论
  • AIVA 技术浅析(四):捕捉音乐作品中的长期依赖关系
  • C#构建一个简单的循环神经网络,模拟对话
  • 【代码pycharm】动手学深度学习v2-07 自动求导
  • C语言-详细讲解-P1217 [USACO1.5] 回文质数 Prime Palindromes
  • 【C++】list模拟实现(详解)
  • css:感觉稍微高级一点的布局
  • SpringBoot社团管理:安全与维护
  • 【系统架构设计师】真题论文: 论软件需求管理(包括解题思路和素材)
  • Redis 常用数据类型插入性能对比:循环插入 vs. 批量插入
  • 自主导航:机器人如何在复杂环境中找到自己的路?
  • 小程序免备案:快速部署与优化的全攻略