由于portainer/portainer存储库已弃用。官方提示:从 2022 年 1 月开始,此存储库的最新标记将指向 Portainer CE 2.X。请使用 portainer/portainer-ce 代替。最新版本为2.11.1,为了体验新版本,想把我的旧本版更新一下。
portainer没有更新替换的按钮,如果删除Docker重新逐一安装,则会丢失所有数据非常麻烦。为了不破坏Docker现有的环境和数据,我思考portainer是Docker里的一个镜像,用替换的方式尝试更新,应该不会影响到Docker里其他的镜像和运行状态,实际结果成功了。那么具体是怎样实现呢,请如我一一道来:
1.在旧版的portainer中安装最新版本的portainer/portainer-ce:latest(或者在Docker里用命令docker pull portainer/portainer-ce:latest),取名为portainer-ce或自定义。
2.为避免与旧版portainer冲突无法进入,在Add container页面定义portainer-ce的Host与现在的不同,便于后面进入设置。如现有的9001:9000,新的设置为9002:9000,如下图。设置完成后点击Deploy the container完成下载并生成新的镜像。
3.安装完成后,通过IP:9002端口进入网页,设置账号密码可退出新版本的。完成后进入旧版的portainer,进入Containers--portainer-ce--Duplicate/Edi,打开新旧本版设置页面对照,将新版portainer-ce的设置与旧的设置成一致,如下图所有项目与旧版设置成一致,设置完成后点击Deploy the container完成。
4.将新旧版portainer勾选,点击Restart重启镜像,这时候会产生冲突网页无法打开,旧版本没法进入。然后访问新版IP:9002端口,输入新版的设置的账户密码顺利进入,所有之前的镜像都在且正常运行中,再看左下角版本显示是最新版本。为验证其他不收影响,尝试一遍其他功能均正常使用。避免后续Docker重启产生冲突,将旧版的portainer镜像删除。或者将旧版的portainer先停止,在Advanced container settings设置中将重新启动自启动Restart policy为Nerver关闭状态,点击Deploy the container完成,作为备用。
至此portainer-ce更新完成,可以享受啦。