如何更新群晖Synology的Docker容器(homeassitant)

文章讲述了作者如何在群晖DSM7.1环境下升级HomeAssistantDocker容器,包括了解工作原理、下载映像、调整版本号、备份并重置容器的过程,特别关注了版本不一致时的操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、引子

二、大概docker工作原理

三、解决思路

四、下面来实操:

1.下载映像

2.版本号调整

3. 备份容器

4. 重置容器

五、收工


一、引子

最近发现docker里的homeassitant版本太低了,想升级一下。应用里的升级按钮压根没反应,群晖官方倒是说了可以在docker里直接点按钮升级,但我死活没找到按钮在哪,最后才发现人家说的是DSM7.2的Container Mnager,咱现在还在7.1,尴尬~~

免不了要折腾一下了,这方面实在是太外行了,找了很多资料,总算是折腾出来了。

二、大概docker工作原理

升级前需要了解一下群晖docker的工作原理(不是专家,这部分全靠推理,如有不对,纯属正常,敬请纠正)。

1. 容器在工作的时候,实际是要依赖于映像的。当映像存在对应的容器时,映像是删除不掉的

2. 容器停止时,能进行“重置”操作,实际就是将各种基础文件从映像里拉取覆盖一遍,划重点:不会更新个性化的配置文件。

3. 当映像存在多个版本时,“重置”操作会从哪一个映像去拉去文件呢?划重点: 自动会去找与容器相同的版本

三、解决思路

好了,原理了解到这个程度就差不多了。接下来说说具体思路:

1. 下载映像,不论是什么默认的latest或者指定版本号,都可以

2. 修改新的映像的版本号,最终目的的让它与容器的版本号一致。(这一步不一定需要,后面实操详细描述)

3. 备份容器

4. 重置容器

ok,就这么简单。

四、下面来实操:

背景:我的homeassitant版本是2023.1.1,目前最新版是2023.12.

现在的容器在安装的时候,是下载的指定版本,所以在容器里显示的并不是latest。

1.下载映像

这一步,方法就比较多了,总结一下我自己用过的3个:

1.docker里“注册表里”:因为服务器不在国内、国内的镜像网站也很难找,一般很容易失败

2.有一些代pull的网站,提交你想下的映像名字+版本,网站会帮你pull,然后给打包好自行下载,下载后可以将文件导入docker

3. 走SSH,直接从官网copy命令就行了,而且不会存在网络原因,推荐。

我这里就用SSH来演示了:

docker pull homeassitant/home-assitant

默认就会下载latest版本,也就是2023.12版本

下载完之后,就有2个版本了,此时在docker的映像列表里也会看到有2个:一个是2023.1.1,一个是latest

2.版本号调整

修改新的映像的版本号最终目的的让它与容器的版本号一致。(这一步不一定需要,后面实操详细描述)

现在需要把版本号改成一致,latest改成2023.1.1

命令:docker tag homeassitant/home-assitant:latest homeassitant/home-assitant:2023.1.1

改完之后就如下图了,出现3个版本,一个个解释一下:

1. 版本①、②实际是同一个映像,image_ID相同,版本1是从latest改名后产生的新映像,版本2就是原始的

2. 本版③是老版本,因为版本号被①占用了,就被迫成了“none”

此时在docker映像界面看到是这样的:

PS:啥时候这一步可以不需要呢

当容器原本就是安装的latest版本,现在也是pull的latest版本,虽然这两个latest代表的实际版本并不一样,但在TAG那里显示的都是latet。在step1-下载映像 之后,就会出现2个映像:一个是latest,这是新下载的最新版本;另一个是none,这是原映像,被迫改名了。

3. 备份容器

老容器复制一份出来,名字改一下,不要占用老名字

4. 重置容器

先停老调容器,然后重置。

重置成功后再打开,第一次打开会略微慢一点,正常。

五、收工

打开之后验证一下,没问题的话就没问题了。

至于备份的老容器,该删就删把,留着还占空间,这寸土寸金的地方还是拿来干点有用的事情。

网上其实很多分享的升级方法,只是几乎都是针对前后都是latest版本的。前后版本TAG不一致的话,稍微增加了一点工作。

如何更新群晖Synology的Docker容器(homeassitant) - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值