2个或更多Redis docker共享相同数据

时间:2019-04-10 12:38:42

标签: docker

我试图将Redis容器连接在一起以共享一些数据,但是运气不高。首先,我创建一个新的Docker容器:

➜  docker-react git:(master) ✗ docker run -d --name red1 -v ~/vol:/data redis
7cec6f4fce354c3c603ef36813d9b8f41b446278b76bc8f05a901980bb864241
➜  docker-react git:(master) ✗ docker run -d --name red2 -v ~/vol:/data redis
566d4728cd8d2548a1ba4631bb118699157e03aae32a4566370fafdfae93463d
➜  docker-react git:(master) ✗ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
566d4728cd8d        redis               "docker-entrypoint.s…"   9 seconds ago       Up 8 seconds        6379/tcp            red2
7cec6f4fce35        redis               "docker-entrypoint.s…"   20 seconds ago      Up 19 seconds       6379/tcp            red1

但是当我进入1个容器并设置一些数据时,例如:

➜  docker-react git:(master) ✗ docker exec -it 566d4728cd8d redis-cli
127.0.0.1:6379> SET name Jim
OK
127.0.0.1:6379> SET age 20
OK
127.0.0.1:6379> get name
"Jim"
127.0.0.1:6379>

然后我进入第二个容器,它忽略了数据:

➜  docker-react git:(master) ✗ docker exec -it 7cec6f4fce35 redis-cli
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379>

为什么?如何连接这两个容器以共享相同的数据?

1 个答案:

答案 0 :(得分:0)

对我来说,您似乎只是使用相同的卷启动两个容器的redis。您是否已设置这些实例以将数据存储在卷位置?