Guy*_*sky 0 redis docker docker-compose
我想运行一个包含初始数据的 redis 容器。在图像的文档中,我可以使用卷挂载到/data. 我的问题是:redis 是否能够从中读取数据并加载它?如果是这样,我挂载的目录中应该有什么?我(非常天真)的尝试是放置一个名为“someFile”的文件,希望 redis 知道将它与键“someFile”和文件内容保存为数据。显然它不起作用。
任何帮助,将不胜感激。
根据您的初始数据集有多大以及如果您的初始数据没有太大变化,让干净的 docker 容器在启动时*.redis使用redis-cli( link )从文件加载它可能会更容易。
创建您的种子命令文件 ( my-data.redis):
SET key1 val1
SET key2 val2
...
...
Run Code Online (Sandbox Code Playgroud)
创建一个redis启动shell脚本(my-redis.sh):
SET key1 val1
SET key2 val2
...
...
Run Code Online (Sandbox Code Playgroud)
用你的 shell 脚本作为 CMD 创建一个自定义的 redis docker 镜像,像这样(更好的解决方案是破解入口点,但谁有时间呢?):
FROM redis:latest
COPY my-data.redis /my-dir/
COPY start-redis.sh /my-dir/
CMD ["sh", "/my-dir/my-redis.sh"]
Run Code Online (Sandbox Code Playgroud)
完毕。不需要外部卷或构建器容器。构建并运行:
docker build -t my-redis:latest .
docker run -p 6379:6379 my-redis:latest
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3242 次 |
| 最近记录: |