docker compose将数据添加到redis

docker compose将数据添加到redis,redis,docker-compose,Redis,Docker Compose,我想在启动docker compose时将测试数据加载到redis中。不幸的是,我不知道怎么做。 在docker compose中,redis服务如下所示: redis: image: redis:5.0-alpine expose: - "6379" 我通过RDM连接到Redis,可以执行命令 hmset payment:test-pay _class com.job.model.Payment id test-pay username use

我想在启动docker compose时将测试数据加载到redis中。不幸的是,我不知道怎么做。 在docker compose中,redis服务如下所示:

redis:
    image: redis:5.0-alpine
    expose:
      - "6379"
我通过RDM连接到Redis,可以执行命令

hmset payment:test-pay _class com.job.model.Payment id test-pay username user type money timeToExecute 5000

但如何在容器启动期间将此数据加载到redis?

看起来您希望在本地计算机上的redis运行之间保留数据。最好的方法是在容器和本地计算机之间装载一个数据卷

version: '3'
services:
  redis:
    image: redis:5.0-alpine
    expose:
      - 6379
    volumes:
      - ./redis-data:/data
最后一个
卷:
位是这里的关键。这会告诉docker compose在本地机器上选择一条路径,
/redis data
,并将其放入位于
/data
的容器中。您正在使用的redis映像已配置为将其数据库保存到
/data
,因此您已全部设置好。我们可以像这样加载一些数据:

redis:6379> hmset payment:test-pay _class com.job.model.Payment id test-pay username user type money timeToExecute 5000
OK
redis:6379> save
OK
现在,我们手动调用
save
,以确保数据库被持久化到磁盘上,但是存在一些问题

从现在开始,每次在这台机器上启动docker compose配置时,您的数据都会在那里