Two Redis containers run redis:7. Both must move to redis:7.4 without losing a key.
text
cache -v cache-data:/data named volume
sessions (no -v) anonymous volume from the image's VOLUMEStart with cache. Find its volume, then replace it:
sh
docker inspect --format '{{range .Mounts}}{{.Type}} {{.Name}} -> {{.Destination}}{{println}}{{end}}' cache
docker stop cache
docker rm cache
docker run -d --name cache -v cache-data:/data redis:7.4
docker exec cache redis-cli GET regionsessions has no named volume. Copy its anonymous volume into sessions-data first:
sh
docker stop sessions
OLD=$(docker inspect --format '{{range .Mounts}}{{.Name}}{{end}}' sessions)
docker volume create sessions-data
docker run --rm -v $OLD:/from -v sessions-data:/to alpine:3.20 cp -rp /from/. /to/
docker rm sessions
docker run -d --name sessions -v sessions-data:/data redis:7.4
docker exec sessions redis-cli GET session:42When both answer correctly, remove the leftover anonymous volume:
sh
docker volume ls
docker volume prune -f