首页 > 解决方案 > 在 docker-compose 构建期间将数据加载到 redis

问题描述

我有一个由 docker-compose 启动的应用程序。在应用程序中,我有一个以持久模式配置的 redis 实例。在docker-compose build我需要将数据加载到redis实例中。我有一个构建数据并将数据插入redis的lua脚本。但我不明白如何在docker-compose build. 我尝试类似:

FROM redis:5
...
RUN redis-server /usr/local/etc/redis/redis.conf
RUN dataBuilder.lua
...
CMD ["redis-server", "/usr/local/etc/redis/redis.conf", "--appendonly yes"]

docker-compose build之后停止RUN redis-server /usr/local/etc/redis/redis.conf

如何启动redis并在其中上传数据docker-compose build

标签: dockerredisdocker-compose

解决方案


您需要将./dataBuilder.lua&redis-server /usr/local/etc/redis/redis.conf命令放在 ENTRYPOINT 中。基本上,

  • 在后台运行服务器
  • 加载 LUA 文件
  • 一旦 LUA 命令返回退出代码 0,在前台运行 redis 服务器,否则退出。

推荐阅读