我试图将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>
为什么?如何连接这两个容器以共享相同的数据?
答案 0 :(得分:0)
对我来说,您似乎只是使用相同的卷启动两个容器的redis。您是否已设置这些实例以将数据存储在卷位置?