debian 11升级 docker ce 版本和 docker-compose 版本
important update
参考 https://immich.app/docs/install/requirements ,immich 官方已经启用docker-compose
,今后将不支持。请使用docker compose
, noted at 2024-06-24 09:54:52
昨天晚上将 immich 服务端从 v1.98.2 升级到 v1.106.4,花了一个多小时,因为整体上还是比较复杂的
- docker 客户端和 docker-compose 版本过低,immich 最新的 compose 文件使用了
start_interval
语法, 使用docker-compose config
检查语法时报错 Additional property start_interval is not allowed - 我用的是 github docker/copmpose 项目的 docker-compose 二进制,而不是
docker compose
子命令 - pgdata 数据库以前使用 volume 形式挂载的,现在把路径写到了 .env 文件里,通过路径直接映射挂载的。我看了一下 immich release 发行描述,写了很多人都不仔细阅读immich 的更新日志,尤其是有 breaking changes 一些版本,用户按照自己的想法直接更新导致了一些 data loss,还是很惨痛的
- 整个compose服务删除了一个容器
- 升级之前备份 pgdata 和 model-cache 数据
昨晚更新 docker 和docker-compose版本之前用的版本,
- docker: 20.10.17
- docker-compose: Docker Compose version v2.6.0
升级过程:
# 先关闭 docker daemon 是个好习惯
$ sudo systemctl stop docker
# sudo apt-get update 之后直接安装最新版本的 docker ce 软件包
$ sudo apt-get install --only-upgrade docker-ce docker-ce-cli containerd.io
# 下面开始升级 docker-compose,我还是选择下载官方二进制到本地,然后赋予可执行权限,截止 2024-06-17 22:32:16,最新二进制是 v2.27.1,此处我下载的是 v2.27.0
$ curl -L "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" > ./docker-compose
# 备份一下旧的 docker-compose,版本是v2.6.0
$ sudo cp /usr/local/bin/docker-compose /usr/local/bin/docker-compose-v2.6.0
$ sudo mv ./docker-compose /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
几个命令,docker ce 和 docker-compose 都升级好了
- docker ce 新版本:26.1.3
- docker-compose 新版本:Docker Compose version v2.27.0
最后,我的 immich 服务端升级也非常顺利,成功升级到了 v1.106.4
我的immich是直接追最新的版本升级
话说pg的那个目录改动,我以为之前版本就是那样我误操作了,然后我是直接inspect到容器的目录下,复制出来再直接使用的
是的,可以用
docker volume ls
和docker volume inspect {your_volume_name}
快速获取在本机上的路径