Docker-desktop容器的更新

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