如何优雅的一键升级宝塔面板多个Docker容器。

  • 740 views
  • 阅读模式

目前老张在自己的宝塔面板Docker里部署了好几个项目,Alist、ChatGPT-web、Trilium、思源笔记这四个常用的项目。对于这几个项目里,更新频率最高的就是思源笔记了。我在《宝塔面板下利用Docker部署思源笔记!》等几篇关于宝塔面板Docker的文章里也有说法,如果官方项目版本更新之后,需要将本地的容器和镜像删除之后,重新拉取最新的镜像,然后再新建容器进行重新配置,这样真的很麻烦。

后来经过向度娘请教之后,发现很多人在群晖里升级Docker容器用了watchtower这个项目来自动升级Docker里的项目容器,我便把他搬到了宝塔里来了。

watchtower本身也是Docker里一个项目,但是我们这次使用他是在宝塔面板的"计划任务”里。打开宝塔的“计划任务”新建一个“shell脚本”,执行周期可以设置成每周执行一次。而脚本内容可以按需复制以下代码:

1.运行一次,更新所有的容器,并清除旧的容器 。

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once

2.运行一次,更新所有的容器,并清除旧的容器,并删除watchtower容器。

docker run --rm --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once

3.指定容器更新,如无需自动更新所有稳定运行的容器,可以配置仅更新指定容器,只需要在命令后加上容器名.例如只更新nginx和redis。

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --run-once nginx redis

有了这个神项目,就不再需要手动更新docker容器了。

如何优雅的一键升级宝塔面板多个Docker容器。

 

 

老张
  • 本文由 发表于 2023 年 3 月 29 日 08:14:04
评论  18  访客  10  作者  8
    • 空空裤兜
      空空裤兜 3

      虽然搭了几个容器,还是没明白docker到底该咋操作

        • 老张
          老张

          @ 空空裤兜 开车的不必研究车的原理,能用就行。

        • 小熊
          小熊 4

          折腾不动了,docker不懂,哈哈哈

            • 老张
              老张

              @ 小熊 非常简单

            • 老刘
              老刘 6

              有了这个方便多了

                • 老张
                  老张

                  @ 老刘 是的,设置每周执行一次,永远不需要手动更新

                • 网友小宋
                  网友小宋 4

                  我一般都手动更新

                  • 书签网
                    书签网 0

                    跟大佬又学到了一招

                    • 平顶山
                      平顶山 3

                      我的vps就放一个博客,浪费。。。

                        • 老张
                          老张

                          @ 平顶山 那真的是浪费了,要多利用起来

                        • 林羽凡
                          林羽凡 5

                          果然还是老张专业呀

                            • 老张
                              老张

                              @ 林羽凡 没有你专业呀。

                            • 老麦
                              老麦 4

                              有些项目我是能不更新就不更新,有些我是一出新版本我就选择更新,所以我一般选择手动更新。

                                • 老张
                                  老张

                                  @ 老麦 主要是思源更新太快,功能也多。

                                • 美樂地
                                  美樂地 5

                                  docker占内存不?

                                  • news360
                                    news360 1

                                    学习了~docker是个好东西;但是究竟要怎样用好它呢

                                  匿名

                                  发表评论

                                  匿名网友 填写信息

                                  :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                                  确定