群晖Container Manager/Docker容器更新方法

分享两个Docker容器更新的方法,适用于大部分的容器更新。

目前碰到两个容器(postgres、tinymediamanager)大版本更新的时候需要特别的方式迁移数据,不适用以下两个方法,大版本更新的时候特别需要做好数据还有映像的备份。

方法一 手动更新

下载最新的映像

下载最新的映像,可以在套件内注册表直接下载,或者连接ssh使用docker pull命令下载。

旧容器备份

停止 旧容器,并且删除旧容器的端口映射 ,为新容器腾出端口。保存

新建新容器

右键点击停止的旧容器,选择复制设置

通过复制设置新建一个新容器,新容器将会用你下载的最新映像新建,同时保留了旧容器的设置,通过这个方法来进行容器的更新。

新容器建好后,打开新容器设置 ,把原来的端口映射 填好,保存启动新容器。

  • 启动新容器之后,查看测试一下新容器是否完全更新启动好。如果没有问题的话,就可以将旧容器删除。

旧映像删除

新容器下载后,旧印象的latest 标签(TAG)会被新容器取代,旧容器的标签(TAG)会变成none。旧容器删除之后并不能删除掉旧映像,并且在套件后台是看不到映像的,需要删除的话要按照以下的方法连接SSH删除。

启动SSH功能

打开控制面板 ,点击终端机和SNMP ,勾选启动SSH功能点击应用。

连接SSH

使用Putty或者Xshell等SSH客户端工具软件连接。本文以Xshell为例。

打开Xshell,新建连接,输入你的NAS地址和端口点击确定,在输入用户名和密码后就进入终端机界面。

查看删除映像

首先输入sudo -i,回车后在输入一次密码,获取权限。然后在输入docker images查看映像。 如上图所示,有几个TAG是none 的映像。都是之前更新下载没有删除的。复制好需要删除的映像ID,用docker rmi <image id> <image id>来删除映像,多个映像ID使用空格隔开。删除映像后可以使用docker images查看映像,看是否删除成功。

更新失败说明

  • 如果发现新容器没有安装成功,可能是容器不适用于此方法更新
  • 可以删除新容器,把旧容器的端口映射设置回来,启动旧容器,大多数时候还能使用回旧容器。
  • 然后去查看具体容器的文档,看是否有更新容器的具体方法。

方法二 一键更新

群晖DSM 7.2发布之后,Docker改名为Container Manager。全新的名字,也带来了不少的变化。其中最让我眼前一亮的是支持提醒映像更新,可以一键更新映像,还能提醒移除未使用的一键。

本方法就是采用群晖Container Manager自带的更新功能,更新起来非常方便,会自动删除旧映像,不过就没有备份旧容器的操作。使用本功能更新前建议做好备份!

查看更新

本功能需要NAS可以正常访问Dockerhub才可以使用,不然看不到更新提示。

在映像也可以看到有可用更新的提示才能进行下一步,不然无法用此方法更新。

下载映像及更新

点击可用更新的 后会跳出提示框,提示有数据清除的风险,再次建议事先做好数据备份!!!同时可以去查看一下更新的版本内容,如果是大版本更新不建议采用此方法,还是好好看看具体容器的更新文档。

确认完毕后开始更新,开始下载映像,然后就自动更新。过程非常无感。需要耐心等待一段时间,不要乱停止启动正在更新的容器。

更新完成后,可用更新的提示消失,容器正常启动就说明更新完成。

补充说明

如果容器存在链接的情况下,会出现链接的容器是连接到一个容器名.syno.bak的容器,会导致找不到正确的链接的容器的情况,此时只要去对应的容器中,重新修改链接到更新好的容器名上去就好。

也侧面可以推测该方法的更新原理应该与方法一差不多,先备份旧容器在复制新容器,只不过是一件操作完成了,不需要手动。

  • 使用体验下来的感受,此方法用于小版本的容器升级非常高效便携,不过大版本的还是自己手动做好备份更新,不然可能带来更多的不便(T_T 本人经历过惨痛的教训...
  • 一些容器更新频率高,如果看到更新提醒一定要管住自己的手,如没有需要不建议频繁更新,不然也会带来更多的不便(T_T 又是一个惨痛的教训...
相关推荐
咚咚?5 小时前
基于gitlab 构建CICD发布到K8S 平台
容器·kubernetes·gitlab
尘土哥7 小时前
Docker 快速上手
docker·容器·eureka
广州山泉婚姻9 小时前
Docker从环境配置到应用上云的极简路径
docker
胡耀超13 小时前
Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
linux·深度学习·ubuntu·docker·容器·nlp·ocr
铃木隼.17 小时前
docker容器高级管理-dockerfile创建镜像
运维·docker·容器
容器魔方17 小时前
持续领跑,华为云连续5年蝉联中国容器软件市场份额第一
云原生·容器·云计算
开开心心就好20 小时前
AI抠图软件,本地运行超快速
网络·人工智能·网络协议·tcp/ip·docker·电脑·excel
IT成长日记1 天前
【Docker基础】Dockerfile指令速览:文件与目录操作指令详解
docker·容器·volume·add·dockerfile·workdir
胡耀超1 天前
GraphRAG Docker化部署,接入本地Ollama完整技术指南:从零基础到生产部署的系统性知识体系
运维·docker·容器·大模型·知识图谱·rag·ollama
小趴菜吖1 天前
更换docker工作目录
docker