我在我的树莓派3上运行了非常好的Linux Server IO Unifi Controller Docker映像。
遗憾的是,此映像从2022-06-01起不再支持ARM32。
当我运行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位树莓派4s在我的国家缺货,所以立即升级硬件的能力有限,我需要访问我的网络配置。
只需将docker-compose.yaml
中相关容器的image:
配置设置为特定版本,例如:
image: lscr.io/linuxserver/unifi-controller:latest
使用如下格式:
image: lscr.io/linuxserver/unifi-controller:arm32v7-7.3.76
或任何合适的版本。正是由于这个原因,使用latest
标记通常被认为是一种反模式——升级到新的主版本可能会破坏应用程序堆栈。在大多数情况下,最好是固定您的docker-compose。
大多数图像存储库都有一个可浏览的界面,用于发现可用的标记。我不熟悉lscr.io
存储库,但如果没有一个方便的web界面,你可以使用skopeo
:
skopeo list-tags docker://lscr.io/linuxserver/unifi-controller