docker容器突然消失_Docker与PostgreSQL 11.5系列文章(三)数据持久化

作者简介 赵振平,PostgreSQL中文社区主席、计算机畅销书作家、贵州省省管专家、太阳塔科技CTO、国家首批大数据高级职称、腾讯最具价值专家(TVP)、电子工业出版社签约作家、出版了技术专著《Oracle数据库精讲与疑难解析》、出版了技术专著《成功之路:Oracle 11g学习笔记》、出版了技术专著《IT架构实录》。

背景介绍

在学习完第一篇《Docker与PostgreSQL 11.5系列文章(一)Docker的安装》和第二篇《Docker与PostgreSQL 11.5系列文章(二)postgreSQL 11.5安装》之后,继续讨论容器的持久化。“持久化” 简单理解,就是容器被关闭后PostgreSQL数据库的数据是否还存在?

容器持久化概述

容器在本质上是短暂的。它们有自己的文件系统。当容器死亡时,存储在其文件系统中的本地数据也会消失。PostgreSQL等有状态应用程序不能作为Docker容器运行,因为当容器崩溃、死亡或被删除时,存储在其数据库中的数据将丢失。 在Docker容器中装载持久存储卷有两种不同的方法。 方法1: 您可以在主机中创建一个新的持久存储卷,并将其装载到Docker容器中的目录或文件夹下。Docker容器可以独占访问存储卷。存储在卷中的数据不容易从主机上读取、操作或损坏。卷的原理图如下: f2066dea889719113ca516639c2d5775.png 方法2: 您可以将主机中的本地目录作为Docker容器内的持久存储卷装载,以便在主机和Docker容器之间共享数据。如果主机希望访问或定期备份在Docker容器内运行的DB服务器写入文件夹的数据或数据库,则此方法非常有用。  

创建并运行容器

数据存在docker自己管理的卷(volume)里面(路径在/var/lib/docker/volumes下),现在大多推荐使用volume。
[root@tar1 ~]# docker run -v volnamepg:/root/data --name dockerPG11 -e POSTGRES_PASSWORD=Xzzp2008 -p 54322:5432 -d postgres:11.5acb5bf2a4a26b525b8ef4327efcea31963bde8f8ed78ee57f4bc98d8be391f4c
volnamepg是卷的名字,卷会被自动创建。 /root/data是容器中的目录。 卷(volume)是绕过容器的文件系统,直接将数据写到host主机上,只是volume是被docker管理的,docker下所有的volume都在host机器上的指定目录下/var/lib/docker/volumes。
[root@tar1 volumes]# ll /var/lib/docker/volumes总用量 32drwxr-xr-x. 3 root root    19 8月  23 18:27 14145904c49f663d8345ef789a9c352046a6a6d1ccd49f4d9e2dfd1a141f6707drwxr-xr-x. 3 root root    19 8月  23 21:26 54943648b14cc92532aa20c95e8c7d70404a344eb427750aefd873b1b2003c74drwxr-xr-x. 3 root root    19 8月  23 17:40 59aca22a107ede60abc1795edd9d7a46ff5799850a43f536a91598f74ffa7e01drwxr-xr-x. 3 root root    19 8月  23 17:46 666f867e5062405683033d419458a85944568a007d6e82720149f48d306c4741drwxr-xr-x. 3 root root    19 8月  23 17:26 7b3400e3155b8a3f3950f6a495883532de20270c9811de7ea0ab5e31d944a165drwxr-xr-x. 3 root root    19 8月  23 17:42 8f56e930685166205e4d9fa5730f844aa7b0e0d1dc503e4ec4dd529023a5e17adrwxr-xr-x. 3 root root    19 8月  23 17:43 9cc314ca59489507b54a0f9122d9ce4fc929c99a885dab
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值