linux “对接合成”强制运行旧映像

46qrfjad  于 2022-12-26  发布在  Linux
关注(0)|答案(1)|浏览(161)

我在我的树莓派3上运行了非常好的Linux Server IO Unifi Controller Docker image
不幸的是,自2022-06-01起,该映像不再支持ARM 32。
当我运行docker-compose pull更新到最新的映像时,我没有意识到这一点,现在我的控制器无法工作,并显示错误消息:

unifi-controller    |     ********************************************************
unifi-controller    |     ********************************************************
unifi-controller    |     *                                                      *
unifi-controller    |     *                         !!!!                         *
unifi-controller    |     *     This Unifi-Controller image does not support     *
unifi-controller    |     *        32 bit ARM due to a lack of OS packages       *
unifi-controller    |     *                                                      *
unifi-controller    |     *                                                      *
unifi-controller    |     ********************************************************
unifi-controller    |     ********************************************************

有没有办法把docker-compose固定回弃用前的版本?
当我运行docker image ls时,我的系统上仍然有以下映像可用:

REPOSITORY                             TAG       IMAGE ID       CREATED         SIZE
lscr.io/linuxserver/unifi-controller   latest    deeabba24529   10 days ago     102MB
lscr.io/linuxserver/unifi-controller   <none>    048ec856c236   9 months ago    524MB
lscr.io/linuxserver/unifi-controller   <none>    4858fc11dcf2   10 months ago   520MB

或者我可以调整docker-compose.yml中的版本,选择一个旧版本。
我理解运行旧软件的风险,但较新的64位树莓派4 s在我的国家缺货,所以立即升级硬件的能力有限,我需要访问我的网络配置。

falq053o

falq053o1#

只需将docker-compose.yaml中相关容器的image:配置设置为特定版本,例如:

image: lscr.io/linuxserver/unifi-controller:latest

使用类似于:

image: lscr.io/linuxserver/unifi-controller:arm32v7-7.3.76

使用latest标记通常被认为是一种反模式,原因就在于此--升级到新的主要版本可能会破坏应用程序堆栈。在大多数情况下,最好将docker-compose.yml固定到特定版本。
大多数图像库都有一个可浏览的界面来发现可用的标签。我不熟悉lscr.io库,但如果没有方便的web界面,你可以使用skopeo

skopeo list-tags docker://lscr.io/linuxserver/unifi-controller

相关问题