专业的编程技术博客社区

网站首页 > 博客文章 正文

记一次Docker映像的升级经历,有几个小细节还真得注意

baijin 2025-04-27 12:21:21 博客文章 11 ℃ 0 评论

之前在NAS上部署一套Bitwarden的密码管理服务,近期想给朋友分享一个send信息说白了就是类似于阅后即焚的功能。无论怎么操作,系统都是报错。查看下日志发现,原是通过docker部署的版本较老,需要升级到最新版。

升级方案本来是希望能实现自动化傻瓜式升级,结果发现网上有关docker自动升级的过程,基本上全是命令行的方式,而且还需要设置计划任务,这对于不懂命令的我来说真不太好操作,而且看了作者的升级说明,基上也是把老的容器删除,再下载新的映像部署。

既然自动升级操作比较烦琐,同时这个服务要求的是安全和稳定性,那就果断放弃自动升级,改为不定期手工升级。

升级工作大概分为3个部分:1、将原数据导出;2、下载安装新的容器;3、将导出的密码数据导入到新容器。同时为了数据安全起见,还增加了一个定时备份数据的任务。下面是过程分享

Docker容器的升级

1、进入Bitwarden页面,将所有数据进行导出。注意,数据格式选未加密。加密格式只对本容器有效,如备份恢复,但不支持跨容器的恢复,稍后安装的相当于一个新容器,用加密格式恢复时会报错。

2、原映像来废弃,需要重新下载新的映像并重新部署,具体的操作细节可参考我之前的文章《1Password免费替代方案!群晖Docker+Bitwarden完美解决

3用浏览器打开web页面,导入之前备份的数据文件即可完成容器的升级工作。

设置一个定期备份数据库的任务

考虑到数据的安全性,还是设定了一个定期备份数据库的任务,这样多了一重的数据保护。由于都是文本类的信息,库文件很小,200条记录大小约100K左右,所占空间可以忽略。

操作的思路是写一个备份的脚本文件,放到服务的目录下,在系统的计划任务里定时执行。

1、由于脚本文件比较复杂,我直接去网上搜了一个写好的脚本(记不清是哪位大佬写的了),放到映像的相同目录下

2、将脚本文件中的路径,更改成自己的存放路径。注意:此处最大的坑就是要区分大小写。

3、NAS控制面板的计划任务中,新增一条定时任务

4、指定备份频次和要执行的脚本

5、判断脚本能否正常执行,可点执行后,在动作中查看运行结果,状态显示为正常即表示可正常执行。

6、系统自动按计划进行备份,有需要时可将备份数据进行覆盖恢复

写在最后

本次操作应该说没有太复杂的操作点,但有些小细节还是需要注意的,之前设置完成后一直没有备份成功,也是因为目录中没有区分大小写,分享出来的上的也是希望能给小伙伴们提个醒,自己也算mark下吧。

声明:

本作品系作者韩韩邦原创,转载请注明出处。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表