环境:
Os:Centos 7
原版本:v2.4.6
目标版本:v2.4.21
说明:
a.提前做好备份
b.升级后需要把新版本的配置文件外挂出来,不能使用原有版本的,因为每个版本的配置文件参数都有可能不一样.
1.镜像准备
[root@localhost milvus]# docker pull registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.4.21
v2.4.21: Pulling from hxlk8s/milvus
2ec76a50fe7c: Pull complete
a4b294b4e855: Pull complete
6a051997463b: Pull complete
67a8f46c29bc: Pull complete
7222d069a817: Pull complete
da36138341fa: Pull complete
Digest: sha256:7db241616fa63ce12dce76abcaa1f1025c595669b6d613936a6f4ada1d84fc82
Status: Downloaded newer image for registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.4.21
registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus:v2.4.21[root@localhost milvus]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cn-shenzhen.aliyuncs.com/hxlk8s/milvus v2.4.21 a18da0c1b743 6 weeks ago 1.63GB[root@localhost milvus]# docker tag a18da0c1b743 milvusdb/milvus:v2.4.21
升级配置文件(配置文件已经外挂)
2.停掉原有的
[root@host135 milvus]# cd /home/middle/milvus
docker compose down
3.重新命名配置文件
mv milvus.yaml bak20250311_milvus.yaml
4.修改docker-compose.yml
a.修改milvusdb镜像
image: milvusdb/milvus:v2.4.6
修改为
image: milvusdb/milvus:v2.4.21
b.把配置文件外挂到宿主机的注释掉
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus
#- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
5.启动
[root@localhost milvus]# cd /home/middle/milvus
[root@host135 milvus]# docker compose up -d
WARN[0000] /home/middle/milvus/docker-compose.yml: `version` is obsolete
network milvus was found but has incorrect label com.docker.compose.network set to "milvus"
解决办法:
1.执行 docker network ls 命令展示所有的虚拟network
2.执行 docker network rm d63ce361771b 删除已存在的network
3.再重新运行 docker-compose up -d 启动容器
[root@localhost milvus]# docker compose up -d
WARN[0000] /home/middle/milvus/docker-compose.yml: `version` is obsolete
[+] Running 0/1? Network milvus Creating 0.2s
[+] Running 5/5d orphan containers ([prometheus grafana]) for this project. If you removed or renamed this service i ? Network milvus Created 0.3s ? Container milvus-minio Started 6.1s ? Container milvus-etcd Started 6.0s ? Container milvus-standalone Started 7.8s ? Container attu Started
6.将新版本的milvus配置文件拷贝到宿主机
[root@localhost milvus]#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c23211c300b1 zilliz/attu:v2.4.6 "docker-entrypoint.s…" 31 seconds ago Up 21 seconds 0.0.0.0:8000->3000/tcp, :::8000->3000/tcp attu
40aa6b62284b milvusdb/milvus:v2.4.21 "/tini -- milvus run…" 32 seconds ago Up 23 seconds (health: starting) 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp, 0.0.0.0:19530->19530/tcp, :::19530->19530/tcp milvus-standalone
f6ad7122d532 quay.io/coreos/etcd:v3.5.5 "etcd -advertise-cli…" 32 seconds ago Up 26 seconds (health: starting) 2379-2380/tcp milvus-etcd
0193418f33da minio/minio:RELEASE.2023-03-20T20-16-18Z "/usr/bin/docker-ent…" 32 seconds ago Up 26 seconds (health: starting) 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp milvus-minio[root@localhost milvus]# docker cp 40aa6b62284b:/milvus/configs/milvus.yaml /home/middle/milvus/Successfully copied 75.3kB to /home/middle/milvus/
7.修改配置文件milvus.yaml
将原有的配置过的在新配置文件里做修改,我这里主要是修改了 authorizationEnabled=false 这个参数,将这个参数修改为原来的即可 authorizationEnabled=true
若其他参数修改了的话 也要记得在新配置文件中进行修改
8.停掉
[root@localhost milvus]# cd /home/middle/milvus
[root@localhost milvus]# docker compose down
9.修改docker-compose.yml
将原来注释掉的去掉
#- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
修改为
- ${DOCKER_VOLUME_DIRECTORY:-.}/milvus.yaml:/milvus/configs/milvus.yaml
10.重新启动
[root@host135 milvus]# docker compose up -d
WARN[0000] /home/middle/milvus/docker-compose.yml: `version` is obsolete
network milvus was found but has incorrect label com.docker.compose.network set to "milvus"
查看网络,删除后再执行
docker network ls
docker network rm d63ce361771b
[root@host135 milvus]# docker compose up -d
11.界面登录查看
http://192.168.1.134:8000