You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker容器内的Redis中加载执行宿主机Lua脚本

执行容器内Redis Lua脚本的操作方法

不需要把Lua脚本提前拷贝进容器,直接通过宿主机的docker命令结合输入重定向就能执行,具体操作如下:

  • 先通过docker ps确认你的运行中Redis容器名称,下文示例以容器名redis-server、宿主机当前目录下存储示例代码的脚本文件test.lua为例
  • 执行以下命令即可直接运行脚本:
docker exec -i redis-server redis-cli EVAL "$(cat test.lua)" 0

参数说明:

  • -i:开启容器的标准输入,用于接收宿主机传入的脚本内容,该场景不需要加-t分配伪终端,否则可能出现输入解析异常
  • 末尾的0:代表传入Lua脚本的Redis键数量,你提供的示例脚本不需要操作任何键,填0即可;如果后续脚本需要传入KEYS、ARGV参数,对应修改这个数值、在命令后追加参数即可
  • 如果你的Redis实例配置了访问密码、使用非默认端口,在redis-cli后追加对应参数即可,例如设置了密码的场景:
docker exec -i redis-server redis-cli -a your_redis_password EVAL "$(cat test.lua)" 0

执行你提供的示例脚本后,正常返回结果为PONG,代表脚本运行正常。

是否需要在宿主机本地安装redis-cli

完全不需要。上述操作全程依赖Redis官方容器镜像内置的redis-cli客户端完成,宿主机仅需要安装Docker服务即可,不需要额外部署任何Redis相关组件。
如果你后续有频繁在宿主机直接操作Redis实例的需求,也可以选择本地安装redis-cli,但仅执行Lua脚本这个场景没有安装必要。

内容的提问来源于stack exchange,提问作者Mopparthy Ravindranath

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 01:48:16