Upgrade my NAS to DSM7.0 from DSM6.x

背景

我的NAS是群辉918+,平时主要使用以下几个组件,一直想找个时间整理下自己使用的感受和经验,无奈由于各种原因拖延到现在……知识还是需要整理下的,否则时间长了就忘记了,还得重新学习;正好我心仪的DSM7.0在1个月前正式发布了,以这个为契机,重头整理下使用的过程和感受;另外里面很多部分,没办法一次更新全部写完,所以后续持续更新;

下面是我在DSM6.x经常用的一些套件和软件:

  • Photos/Moment:Photos主要以文件夹形式管理所有照片和视频;而Moment主要以人物,场景等作为展示使用,由于后面出了可以让Moment直接读取共享文件夹(/Photos)的方式访问Photos中的照片,省了把Photos照片拷贝到Moment;
  • 影音应用:如音乐和视频,组建属于自己的家庭影音中心;
  • Notes Station应用:作为自用私有云记事本,同苹果的Notes配合使用;
  • Drive:让我的电脑/手机可以无缝跟NAS进行文件共享,随时访问,如同Iphone原生的icloud,自从有了NAS,我再也不用每个月5元去订阅icloud的空间了~;
  • Hyper Backup:用于备份本地套件Notes Station和本地文件夹 Drive,可按照计划自动完成备份,并且循环备份;
  • Active Backup for Business:用于备份其他PC或其他服务器上的文件,我用于备份个人Blog;
  • DHCP Server:由于我的Linksys 路由器不支持自定义DHCP,所以把这部分功能下移到NAS了,简单好用;
  • Wireguard:通过此服务,可以快速从远程加密访问个人的NAS,如同在同一个局域网内(有人说可能没什么用,但这其实有两个好处,其一是你可以不用对外开放多个端口,直接开这一个VPN端口,即可像访问内网一样访问NAS所有应用,不用担心内容泄露;其二是家里局域网出现故障,只要外网是通的,就可以VPN进来,进行远程排除故障);至于Wireguard是哪种VPN,对IPsec,GRE和PPTP有什么区别,可自行百度和Google;
  • Docker:如Wordpress(主要用于测试),网络测速等等;
  • VMM:我非常希望使用虚拟机功能,但最开始我选择了ext4文件系统,导致无法使用虚拟机,所以只能等待以后第二个NAS入后再转系统了,否则倒换这么多文件真的太麻烦了;

升级并完成初始配置

升级很简单,系统自动推送升级文件,所以按着提示无脑点即可完成升级;

设置NTP

登录DSM7.0以后,提示了一些新功能,如Active Insight,需要设置NTP,默认是Google的时间服务器,墙内访问会超时,我选择了“time.nist.gov”;

设置Active Insight

设置好NTP后,就可以设置Active Insight了。如果第一次错过了,如何找这些新功能?直接看桌面的“DSM 说明”即可;

设置Quickconnet和DDNS

这部分不介绍了,我是升级过来的,如果之前是正常工作的,升级后不会有问题;

登录账户安全加强

按照说明,我开启了无密码登录(通过手机批准登录),以及对账户进行双重认证(OTP批准)。确实安全,但问题是每次都需要用“Secure SignIn” APP获得OTP,比较麻烦,虽然群辉套件第一次输入后,后面可以记住登录,就暂时不用输入OTP了,但这个APP只能一台手机安装。后面如果有新的感受和方法在更新吧

原有应用程序和配置

如刚才说的Quickconnect,DDNS,Hyper backup,Active Backup for Business,Docker,DHCP Server这些应用都没什么问题;只有Wireguard失效了,查了下,看上去需要自行编译安装,还没时间研究;

Synology Photos

对于本人来说,选择群辉就是看中了它可以像icloud那样管理和查阅照片,而且整体风格个人很喜欢,其他功能都是附带的。之所以一直在期盼DSM7.0,就是看中了7.0的照片分享权限和多用户功能,在之前,我就很想让我的父母每人一个账号,然后把我闺女的照片共享给他们查阅,这样统一管理,就不用倒来倒去了,相信很多人有我这样的需求,但DSM6.x做不到这一点,所以是否DSM7.0可以达到我的预期,只能自行尝试了。目前为止,还没有哪个教程详细介绍如何平滑从DSM6.x(小7万多张照片,以及部分视频的重度用户)升级到DSM7.0,这包括官方平台,所以升级计划推迟了1个月……

Photos + Moment的问题

原始需求:假如我有两个文件夹,每个文件夹有很多照片,我想把两个文件夹中的孩子的照片放到共享相册,然后让父母访问这个相册(只有查看权限),两个文件夹中的其他照片父母无法查看,而且不要改变文件夹结构,共享相册是虚拟的;

对于共享相册(同Apple的icloud)的诉求:任何用户都可以创建共享相册,共享相册可以share给其他用户,其他用户接受请求后,可以看共享相册的内容,或维护,这个可以通过权限控制;共享相册的构建灵活,我可以在游览照片时,简单选择要分享的照片到共享相册中,当删除共享相册,不影响照片库中的原始照片;

  • Moment和Photos的权限是分开的,这导致在Photos控制好权限后,Moment的权限是放开的,父母用Moment看照片时会有误操作把照片删除的风险,而且对比Photos,Moment权限管理很弱,所以对于我个人,Moment适合做查看照片的工具,已通过Ticket在 2019年4月同群辉确认过;如果Moment打开的照片不在共享文件夹(/Photos)中,而是在个人文件夹(/home/user/)中,那么可以分享共享相册给其他用户,但不适合我的场景,我是通过Photos 文件夹方式来管理照片,而不是Moments以年月日时来自动创建文件夹,已通过Ticket在2020年7月同群辉确认过;
  • 既然Moment不能满足我的需求,Photos是否可以满足?答案是同样不行的;除非是将孩子的照片集中移动到一个相册中,然后共享这个相册,这样就打乱了文件夹的原有结构,否则只能一张一张分享,而且对于共享相册,也只能通过共享时的共享链接才能打开……,已通过Ticket在 2019年5月-6月同群辉确认过

Synology Photos的优点

可以说之前遇到的那些问题,在DSM7上基本可以完美解决,经过操作,细数优点如下:

  • 访问速度提升巨大,在手机上游览很方便,快捷;
  • 兼容性大幅提高,大部分视频基本可以秒开(视网络速度而定的视频质量);
  • Photos文件夹方式的管理仍然存在,我原来所有照片都放在/photo共享文件夹下,升级后看了个人文件夹和共享文件夹的区别,就把所有照片挪到了“/home/user/Photos”;
  • 没有/Photos文件夹也可以创建共享相册,这两点没有直接关系,这个文件夹的使用场景是家庭成员把照片都放入其中,然后大家一起标记照片,这样才有意义;
  • 可以随意选择照片放入特定相册中,此相册是虚拟的,并且可以把虚拟相册共享给其他用户,虚拟相册删除也不会影响原始照片;
  • 过滤种类非常丰富,可以根据人物,镜头,焦距,日期等因素进行过滤,然后把过滤后的照片进行筛选放入特定相册,方便分享;

Synology Photos的问题

优点是很多,但由于是新应用,仍然还是有一些影响体验的缺点,我罗列了下我关注的问题:

  • 观看mov 4k60帧的视频时需要时间加载(也许跟网络环境相关),以后可以试试转成mp4的4k 60帧是不是会好些,当然官网推荐1080p 60帧,而不是4k 60帧;
  • 原来Moment中的AI场景被取消了,如过滤天空、落日、宠物等等,但我认为后面群辉会逐渐加回来的,只是现在没有;
  • 原来Moment中的检测重复照片,以及对照片进行自动加强功能也被取消了,等待后面加回来;
  • 关于用新的Synology Photos APP备份照片时,只能全量照片备份到特定文件夹,或者从现在开始备份,但我经常会用手机拍很多照片,然后对这些照片进行整理,然后选择性的进行备份,不是所有照片都需要备份下来,里面有很多照片或视频只是临时的,类似的功能在Photos Station中已经存在,这种全量备份不太适合有目的性,有选择性的备份任务,建议在Synology Photos中增加此功能,已经于2021年8月份反馈给群辉,这个是我认为非常影响体验的功能,目前只能通过其他软件上传照片,然后再进入NAS把这些照片挪到特定的文件夹;

2021 9月更新:对于备份的问题

经过使用发现,用synology photos也可以选择备份,但此时的备份无法选择现有文件夹,只能选择在synology photos中创建的相册,如果直接选择个人空间,那么它会在个人空间(/home/Photos/)中自动创建“PhotoLibrary”文件夹,并按年月目录存放,所以用这种方法上传后,需要用DS file手动把照片从这个文件夹移动到相应的文件夹中……其实这个功能简单增加可选文件夹目录,问题就解决了……

  • 通过Web访问Synology Photos,可以根据”人脸”+”时间”+”地点” 进行过滤,并进行分享,这个功能非常赞,但人脸与人脸之间是独立的,你选择几个人脸,就会把这些人脸对应的所有照片都过滤出来……既然照片已经根据AI区分开了,并且每个照片也能看到识别出了几张人脸,那为什么不能增加一些复杂过滤呢?彰显群辉相册真正的智能,独特呢?比如增加”与“的选择?下面举一个例子:“我想找出只有我和我爱人的合照,那么选择同时包含“我”和“我爱人”的人脸,并排除家庭其他的“人脸”,这样很容易就把只有我们两个的合照找出来了!”,这才是真正在使用智能!已经于2021年8月份反馈给群辉;
  • 现在手机照片基本都带有GPS信息,但很多相机没有GPS,所以我有非常多的老照片没有GPS信息,这导致检索照片会非常费劲,要想从7万多张照片里找出来哪些没有GPS信息,并下载下来单独用其他软件加上GPS信息,再上传……这基本是不可能完成的任务,真心希望Synology Photos后面支持过滤没有GPS信息的照片,统一给一个文件夹或照片集指定一个大概的GPS位置,这样对于照片整理,以及对群辉相册的依赖度都会大幅提升,这个需求我相信有很多人都会有的,强烈希望以后支持,已经于2021年8月份反馈给群辉;

Synology Photos迁移过程

我不是重度Moment用户,所以没有太多人脸和相应信息需要转换,所以我就用了下面方式迁移到新的Synology Photos应用上,过程不一定适合所有人,请根据自身情况判断并操作,另外照片还是建议先备份再操作~

  • 升级前我的照片均在“/photo”文件夹中,升级后这些照片就都属于共享空间了,个人空间中是空的;而且我等待了1-2个小时,看不到任何人脸信息;
  • 确认个人文件夹和共享文件夹的区别后,索性把所有照片移动到了“/home/user/Photos”下,并重新建立了索引,这样感觉干净点,这个过程实操后没发现什么问题;
  • 重建索引后开始可以看到cpu在忙,去资源监控里可以看到Synology Photos在忙,但等了一段时间,人脸一直没有信息,后来我又重新建立了索引,“synofoto-face-extraction”才开始忙起来……但注意,人脸要显示数据,确实需要时间,我是等了1晚上后,人脸才有信息的;
  • 根据我的个人经验,最好等1-2天,在相册里的信息就会陆续出现,我这里是从右向左(最近添加 -> 视频 -> 标签 -> 位置 -> 人物)逐渐有信息的,群辉不会一直占用CPU资源去计算照片;
  • 基本都ok后,发现我有一些老旧的标签,是当时我在Photos Station开AI识别时标记的,这些没啥用,经过与群辉确认,可以通过这种方式全部删除:进入相册 -> 进入标签 -> 选择标签的照片 -> 右下角选编辑标签 -> 删除即可;

2021-12-21 使用证书认证SSH登录

由于不定期需要远程访问NAS,所以需要开启SSH,虽然已经把对外端口改了,但感觉还是不保险,所以想直接关闭原有的密码认证,改成证书认证,这期间发现一些问题:

  • DSM6.x的“synoservice”已经被“systemctl”取代,应该是内核所引起的;
  • 群辉默认的账号是单独起名的,不是root,也没有home,用户的根目录在这里“/var/services/homes/xxxx”;
  • “authorized_keys”文件不需要单独建立,在你的client端上使用“ssh-copy-id”时,会自动创建;

在NAS上打开证书认证,关闭密码认证,重启生效,红色的是修改的地方:

root@xxx:~# more /etc/ssh/sshd_config |grep Authen
# Authentication:
PubkeyAuthentication yes
#HostbasedAuthentication no
# HostbasedAuthentication
PasswordAuthentication no
ChallengeResponseAuthentication no
#KerberosAuthentication no
#GSSAPIAuthentication no
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
root@xxx:~# systemctl restart sshd

在客户端上生成秘钥,并使用“ssh-copy-id”向NAS安装公钥,详细的SSH配置,可以参考我之前的总结,这里就不详细说了:

xxx@Yongs-MacBook-Pro ~ % ssh-copy-id -p xxxx -i ~/.ssh/id_rsa.pub xxxx@yyyyyyyyyyy
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/beihe/.ssh/id_rsa.pub"
The authenticity of host '[yyyyyyyyyyy]:xxxx ([yyyyyyyyyyy]:xxxx)' can't be established.
ED25519 key fingerprint is SHA256:......
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
xxxx@yyyyyyyyyyy's password: 

Number of key(s) added:        1

Now try logging into the machine, with:   "ssh -p 'xxxx' 'xxxx@yyyyyyyyyyy'"
and check to make sure that only the key(s) you wanted were added.

查看NAS上自动生成的key文件:

root@xxx:~# exit
logout
xxx@xxxxxxxx:~$ pwd
/var/services/homes/xxx
xxxx@xxxxxxxx:~$ ls -l -a .ssh/
total 16
drwxrwxrwx+ 2 xxx users 4096 Dec 21 10:49 .
drwxrwxrwx+ 6 xxx users 4096 Dec 21 10:49 ..
-rwxrwxrwx+ 1 xxx users  583 Dec 21 10:49 authorized_keys

验证:

xxx@Yongs-MacBook-Pro ~ % ssh -p xxxx xxxx@yyyyyyyyyyy 

Synology strongly advises you not to run commands as the root user, who has
the highest privileges on the system. Doing so may cause major damages
to the system. Please note that if you choose to proceed, all consequences are
at your own risk.

xxxx@xxxxxxxx:~$ 

2022-07-27 替换ffmpeg插件

应该是版权问题,原有ffmpeg的插件不支持一些音频格式,导致video看视频时经常提示无法播放,经过查找,替换原有的ffmpeg插件即可,细节可以参考这边文章:通过安装ffmpeg解决群晖DSM7.01系统Video Station 3.0.1不支持DTS 和ac3音效的方案

增加spk7社区源并安装ffpeg套件

直接增加spk7的源,spk7.imnks.com/packages.synocommunity.com这个社区源下载不下来;查找ffmpeg并安装;

替换原有的插件

注意:更换了ffmpeg后,上传视频到Synology Photos后,无法生成缩略图,说白了就是转码失效,看上去是权限的问题,为了解决这个问题,可以尝试后面的设置,然后重建索引,但我没有等一晚上,所以直接恢复配置了。。。有机会再试下,然后更新出来:

$ sudo -i
# mv /var/packages/VideoStation/target/bin/ffmpeg /var/packages/VideoStation/target/bin/ffmpeg.bak
# wget -O - https://gist.githubusercontent.com/BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e/raw/ffmpeg-wrapper > /var/packages/VideoStation/target/bin/ffmpeg
# chown root:VideoStation /var/packages/VideoStation/target/bin/ffmpeg
# chmod 750 /var/packages/VideoStation/target/bin/ffmpeg
# chmod u+s /var/packages/VideoStation/target/bin/ffmpeg
# cp -n /var/packages/VideoStation/target/lib/libsynovte.so /var/packages/VideoStation/target/lib/libsynovte.so.bak
# chown VideoStation:VideoStation /var/packages/VideoStation/target/lib/libsynovte.so.bak
# sed -i -e 's/eac3/3cae/' -e 's/dts/std/' -e 's/truehd/dheurt/' /var/packages/VideoStation/target/lib/libsynovte.so
# cp /var/packages/CodecPack/target/bin/ffmpeg41 /var/packages/CodecPack/target/bin/ffmpeg41.bak
# cp /var/packages/VideoStation/target/bin/ffmpeg /var/packages/CodecPack/target/bin/ffmpeg41

给photo和homes付权限

这两个地方是存放视频和照片的地方,只展示homes,photo类似,详细讨论可以看这里

恢复步骤:

操作完后,在Synology Photos中的设置里选择重建索引,睡一觉,第二天早上视频缩略图就恢复了;

# rm -f /var/packages/VideoStation/target/bin/ffmpeg
# cp /var/packages/VideoStation/target/bin/ffmpeg.bak /var/packages/VideoStation/target/bin/ffmpeg
# cp /var/packages/VideoStation/target/lib/libsynovte.so.bak /var/packages/VideoStation/target/lib/libsynovte.so
# cp /var/packages/CodecPack/target/bin/ffmpeg41.bak /var/packages/CodecPack/target/bin/ffmpeg41

2023-01-15 如何查找哪个进程持续读写硬盘?

linux有一些好用的诊断攻击,但默认synology没有安装,需要通过命令行进行安装。安装后,可以在商店的已安装程序中找到该软件包(名字是:Diagnosis Tool),注意此工具包无法从商店里直接安装。

xxx@xxx-server:~$ sudo synogear install
download DiagnosisTool 4.0.0-4124 successfully
(synogear) root@xxx-server:/volume1/homes/xxx# 
(synogear) root@xxx-server:/volume1/homes/xxx# synogear -h
Tools are installed and ready to use.
DiagnosisTool version: 4.0.0-4124
usage: synogear <command>

The most commonly used commands are:
   install    Get and run this package, also load all tools
   remove     Remove it
   help       Show this usage
   list       List all tools
   check      Check if tools are ready to use

Examples:
   1. synogear install
      Install debug tools and load them into environment
   2. synogear remove
      Remove tools and restore all settings
   3. synogear list
      List all loaded tools
(synogear) root@xxx-server:/volume1/homes/xxx# synogear list
All tools:
autojump autojump_match.py cifsiostat domain_test.sh file fio fix_idmap.sh free iftop iostat iotop iperf3 kill log-analyzer.sh lsof mpstat ncat nethogs nmap nping nslookup nsupdate perf-check.py pgrep pidof pidstat pkill pmap ps pwdx sa1 sa2 sadc sadf sar sid2ugid.sh slabtop sockstat speedtest-cli.py sysctl sysstat tcpdump tcpdump_wrapper telnet tload tmux top uptime vmstat w watch zblacklist zmap ztee
(synogear) root@xxx-server:/volume1/homes/xxx# iotop -h
Usage: /var/packages/DiagnosisTool/target/tool/iotop [OPTIONS]

DISK READ and DISK WRITE are the block I/O bandwidth used during the sampling
period. SWAPIN and IO are the percentages of time the thread spent respectively
while swapping in and waiting on I/O more generally. PRIO is the I/O priority
at which the thread is running (set using the ionice command).

Controls: left and right arrows to change the sorting column, r to invert the
sorting order, o to toggle the --only option, p to toggle the --processes
option, a to toggle the --accumulated option, i to change I/O priority, q to
quit, any other key to force a refresh.

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -o, --only            only show processes or threads actually doing I/O
  -b, --batch           non-interactive mode
  -n NUM, --iter=NUM    number of iterations before ending [infinite]
  -d SEC, --delay=SEC   delay between iterations [1 second]
  -p PID, --pid=PID     processes/threads to monitor [all]
  -u USER, --user=USER  users to monitor [all]
  -P, --processes       only show processes, not all threads
  -a, --accumulated     show accumulated I/O instead of bandwidth
  -k, --kilobytes       use kilobytes instead of a human friendly unit
  -t, --time            add a timestamp on each line (implies --batch)
  -q, --quiet           suppress some lines of header (implies --batch)
  --no-help             suppress listing of shortcuts
(synogear) root@xxx-server:/volume1/homes/xxx#iotop -ao
Total DISK READ:         0.00 B/s | Total DISK WRITE:         3.43 K/s
Current DISK READ:       0.00 B/s | Current DISK WRITE:     119.88 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                        
 5684 be/3 root          0.00 B    108.00 K  0.00 %  0.80 % [jbd2/md0-8]
15263 be/4 DhcpServ      0.00 B     28.00 K  0.00 %  0.06 % dnsmasq --user=DhcpServer --group=DhcpServer --cache-siz~nf-file=/etc/dhcpd/dhcpd.conf --dhcp-lease-max=2147483648
11277 be/3 root          0.00 B    408.00 K  0.00 %  0.05 % [jbd2/dm-0-8]
19667 be/4 root          0.00 B     60.00 K  0.00 %  0.02 % dockerd --config-file /var/packages/Docker/etc/dockerd.json
22084 be/4 root          0.00 B     84.00 K  0.00 %  0.01 % dockerd --config-file /var/packages/Docker/etc/dockerd.json
17573 be/4 pan-xunl      0.00 B     28.00 K  0.00 %  0.00 % xunlei-pan-cli.3.1.10.amd64 --logfile /volume1/@appstore~/@appstore/pan-xunlei-com/bin/bin/info.file -q run runner
16024 be/4 pan-xunl      0.00 B     28.00 K  0.00 %  0.00 % xunlei-pan-cli.3.1.10.amd64 --logfile /volume1/@appstore~/@appstore/pan-xunlei-com/bin/bin/info.file -q run runner
22225 be/4 root          0.00 B     24.00 K  0.00 %  0.00 % dockerd --config-file /var/packages/Docker/etc/dockerd.json
19831 be/4 root          0.00 B     12.00 K  0.00 %  0.00 % dockerd --config-file /var/packages/Docker/etc/dockerd.json
20179 be/4 root          0.00 B     12.00 K  0.00 %  0.00 % dockerd --config-file /var/packages/Docker/etc/dockerd.json
22348 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/3:1]
22736 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/2:3]
11481 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/3:5]
12307 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/1:2]
19956 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/1:0]
 3593 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/2:2]
24336 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/0:2]
11980 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/0:4]
16863 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/1:4]
13863 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/2:5]
27734 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/2:4]
21284 be/4 root          0.00 B      0.00 B  0.00 %  0.00 % [kworker/0:0]
21736 be/4 root          0.00 B      4.00 K  0.00 %  0.00 % amuled -f -p /tmp/synodl_amuled.pid
24904 be/4 999           0.00 B      8.22 M  0.00 %  0.00 % mysqld

2023-05-29 更新Docker镜像

我使用的Bitwarden是通过docker自行部署的,最近发现了很奇怪的问题:

  • 新的客户端无法通过用户认证登录到服务端,而且网页登录也无法认证,我确认用户名密码没问题;
  • 之前使用过的客户端,可以通过认证,也可以进行同步;

经过查找,发现是去年官方的客户端升级了,部分API改变导致新客户端无法跟老的服务端互通,所以我升级了群辉中的Bitwarden镜像,修复了问题,不过暂时还无法解释为什么网页也登录不了的问题,在这里简单记录下群辉是如何升级镜像的。

更新对应的Docker Image

最近群辉的docker注册表没法用了,可能是被墙了,但命令行可以用,所以使用命令行来升级对应的镜像:

xxxx@xxxx-server:~$ sudo docker ps -a
Password: 
CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS                      PORTS                                                                  NAMES
3bb34bec86a4   vaultwarden/server:latest         "/usr/bin/dumb-init …"   18 months ago   Up 47 hours (healthy)       0.0.0.0:xxxx->80/tcp, 0.0.0.0:yyyyy->3012/tcp                         bitwarden_server
......           
xxxx@xxxx-server:~$ sudo docker pull vaultwarden/server:latest
latest: Pulling from vaultwarden/server
Digest: sha256:c56cba7d646584e73a17604f4d4e5aba95ee4198bbed6c919c9514d2ada97d04
Status: Downloaded newer image for vaultwarden/server:latest
docker.io/vaultwarden/server:latest
xxxx@xxxx-server:~$ sudo docker images
REPOSITORY             TAG             IMAGE ID       CREATED         SIZE
vaultwarden/server     latest          49c214581b30   7 weeks ago     204MB
vaultwarden/server     <none>          640f93627ad4   19 months ago   185MB

复制镜像配置并完成迁移

原有容器里有很多配置,比如指定证书的位置,指定数据的位置等,我不想重新设置,所以可以使用群里的“复制设置”功能去新建一个新的容器,为了避免端口号冲突,新容器端口号是自动的,因此新建后把老的容器关了,并记住使用的端口号,并改掉老的(防止端口号冲突)。然后在新的容器里填入老的端口号,打开新的容器就可以了,很方便是不是;

注意:迁移前请备份重要数据,我这里会自动定期使用Hyper Backup备份docker目录下bitwarden整个目录;

删除过期的镜像

升级完后,可以使用下面命令删除过期的镜像:

xxx@xxx-server:~$ sudo docker image prune
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y
Deleted Images:
本文出自 Frank's Blog

版权声明:


本文链接:Upgrade my NAS to DSM7.0 from DSM6.x
版权声明:本文为原创文章,仅代表个人观点,版权归 Frank Zhao 所有,转载时请注明本文出处及文章链接
你可以留言,或者trackback 从你的网站

留言哦

blonde teen swallows load.xxx videos