Docker-desktop容器的更新
具体的事情是这样的,旧版本的weaviate反复restart,导致知识库索引动作失败,显示“向量数据库错误”。
要更新这个container,咋整?找了一圈,发现没有什么省力的办法,只能手动搞一遍。
首先要知道docker里有几个镜像,用 docker images
命令查看。
还要知道有几个活动的容器,用 docker ps
命令查看。
然后把要更新的镜像停掉,用 docker stop 镜像ID
命令。
去拉取新的镜像吧,用 docker pull 镜像名称:latest
,拉不到的话,请挂梯。
(这一步不清楚有没有用,下次可以跳过试试看)让新的镜像跑两步,用
docker run 镜像ID
命令。
接下来你就发现,新的镜像是在跑,但是在docker-desktop里显示,它是无名氏,在docker外面跑。这就需要docker-compose把它收编进来。
直接去这个目录 ~/dify/docker
下用 ls
命令看看,docker-compose.yaml
是不是在。如果是,就在这个目录下执行 vim docker-compose.yaml
编辑文件,按 i
键进入编辑模式。我就干了一件事,找到 semitechnologies/weaviate:1.19.0
替换成了 semitechnologies/weaviate:latest
,也就是新版本的名字。然后 esc
退出编辑模式再按 :wq
保存退出。
在同一个目录下,执行 docker-compose up -d
命令,这是让所有容器按照新编目运行。
问题解决。打开Docker-desktop,发现docker目录下weaviate没问题了,但是目录外那个“无名氏”还在。我直接把“无名氏”给删除了。目前没有影响。
最后一步,清除旧镜像 docker rmi 旧镜像ID
。