- 前言
- 备份数据-导出容器
- [推送映像到私有仓库]
- 拉取映像到本地
- PC上打标签
- push映像
- 重建容器
- 停止容器进行重建
- 选中为私有仓库
- 检查配置环境
- 重建成功
- 删除旧的映像
- 参考
前言
本文基于威联通NAS,同时适用于群晖等各平台NAS, 是过去笔记的再次整理并重新实践.
本次以Sun-Panel
更新为例子, images在文中为映像.
备份数据-导出容器
导出容器
做好数据备份
还可以先备份挂载后的文件数据,然后删除容器,然后删除映像内容。然后重新安装即可,最后将文件替换回来即可!
只要不是目录及大版本更新,默认安装后会直接使用原来的配置文件,并不会丢失!但还是要先备份好,等新版本稳定使用一段时间后再删除备份。
一定要去看新版本有什么改动, 有什么注意事项, 再决定要不要更新!
记录配置信息:
记录映像名称:hslr/sun-panel:latest, 后面我们推送到私有仓库的时候要用这个名称!
[推送映像到私有仓库]
配置私有仓库地址:
http://127.0.0.1:57080
这部分参考Docker:映像如何拉取和本地下载打包
笔记, 去官网将最新的映像推送到私有仓库.
这部分是NAS端无法正常访问hub.docker.com官网, 又没有配置代理时才使用的. 若是可以正常拉取映像, 跳过该步骤.
拉取映像到本地
Windows打开Windows Powershell
# 拉取一个用于测试的映像hslr/sun-panel
docker pull --platform linux/amd64 hslr/sun-panel:latest
PC上打标签
【PC上打标签】,将你的映像重新打上标签(tag),指向你的 NAS 私有仓库地址。这里的映像名称是上面查看旧容器在用的映像名称
# 格式: docker tag [源映像名] [NAS_IP:端口/映像名] 这里的映像名称是上面查看旧容器在用的映像名称
docker tag hslr/sun-panel:latest 192.168.1.100:57080/hslr/sun-panel:latest
# 若不是局域网,则为:
docker tag hslr/sun-panel:latest 你的Frp域名.app:12345/hslr/sun-panel:latest
push映像
【将映像推送到(push)你的 NAS】重新标记映像 (Tag),指向你的仓库地址:
# 局域网
docker push 192.168.1.100:57080/my-hslr/sun-panel
# 非局域网 通过 FRP 外网访问
docker push 你的Frp域名.app:12345/hslr/sun-panel:latest
(注:如果 Docker 默认要求 HTTPS,你可能需要在 Docker Desktop 的设置中将
192.168.1.100:5000
添加到 "insecure-registries" 列表中)
docker tag
和docker push
命令中的仓库地址格式是[域名或IP]:[端口]/[映像名]
, 它不包含http://
或https://
这样的协议前缀。Docker 客户端会自动处理协议。
推送成功后,你就可以在 NAS 的 Container Station 里,通过映像名称 192.168.1.100:57080/hslr/sun-panel:latest
来创建新的应用了,它会直接从你自己的仓库中拉取,速度飞快。
重建容器
停止容器进行重建
停止容器
勾选重新创建
选中为私有仓库
检查配置环境
这里要和前面备份
时的截图进行对比, 新的版本有些会增加一些新的环境调整! 一定要仔细检查!
重建成功
我们可以看到, 在映像部分, 容器工作站将旧版本映像停止使用, 出现了新旧两个映像.
更新完毕, 可以正常打开, 所有配置文件都在.
删除旧的映像
保留导出的备份文件, 等新版本稳定使用一段时间后再删除备份和旧映像文件
参考
- 如何更新Docker容器映像?这里有四种方法!_NAS存储_什么值得买