Docker 应用安装脚本

install_redis705_base_docker.sh

创建 /data/redis7.0.5,仅在 redis.conf 缺失时写配置,拉取 redis:7.0.5 并替换同名容器。已有配置和数据会复用,新传入的密码不会更新已有 requirepass。

一键命令

curl -fL 'https://www.helper.sh/install_redis705_base_docker.sh' -o './install_redis705_base_docker.sh'

此命令只下载本站文件,不会执行。请先检查保存的源码并核对版本,再决定是否运行。

核对已下载文件

与本页面构建时内置的确切字节比较。文件只在当前标签页处理,此工具不上传、不持久化文件。上限 2 MiB。

预期 SHA-256
1dff99da3bc7da24e7e14dace74a716a9be1592b77ce03a42864065022bf391b

内置文件字节数: 4562

保存校验文件

将脚本和校验文件保存在同一目录。Linux 安装 GNU Coreutils 后可用下方命令只检查字节,不运行脚本;使用此命令时需保留原文件名。

sha256sum --check './install_redis705_base_docker.sh.sha256'

尚未比较。

校验值与脚本来自同一网站,不是独立签名。一致不证明安全、上游依赖真实可信或适合本机;可变远程依赖需单独审阅。

查看验证与限制

运行要求

  • Linux 主机
  • Docker 已安装并运行
  • 需要 root 权限或 sudo
  • 6379 端口可用
  • /data 目录可写

适用场景

  • 在已经具备 Docker 环境的主机上快速拉起一个 Redis 7.0.5 实例
  • 把 Redis 数据和配置统一保存在 /data/redis7.0.5 下
  • 为缓存、队列或会话存储提供标准化的一键安装入口

脚本亮点

  • 自动创建 /data/redis7.0.5/data 和 conf
  • 拉取 redis:7.0.5 并以带密码保护的容器方式运行
  • 如果没有提供密码,会自动生成强密码
  • 默认写入 appendonly 和基础持久化设置

推荐流程

  1. 先确认 Docker 已安装可用,且宿主机的 6379 端口没有被占用。
  2. 使用 sudo 或 root 执行 helper.sh 提供的一键命令。
  3. 等待脚本准备 /data/redis7.0.5、拉取 redis:7.0.5,并创建容器。
  4. 交付应用前,用有效密码核验 PONG;如果 redis.conf 已存在,输出或新生成密码可能与其中 requirepass 不同。请保护配置及终端输出。

安全提示

  • 不要在没有网络访问控制的情况下把 Redis 直接暴露到公网。
  • 如果使用了自动生成的密码,请立刻记录保存。
  • 如果这是生产实例,替换或重建容器前请先备份 /data/redis7.0.5。

兼容范围与限制

  • 需要使用 systemd 的 Linux、Docker、root、可写数据目录及所选空闲宿主机端口(默认 6379)。redis:7.0.5 是固定的历史版本,应按兼容示例使用。
  • 接受 --data-dir、--container-name、--port、--password,也读取 REDIS_PASSWORD。没有 dry-run、备份或自动回滚。密码会写入 redis.conf、打印到输出,并作为健康检查进程参数传递;脚本不为任意密码做 Redis 配置语法转义。
  • 已有 conf/redis.conf 会保留;新传入或生成的密码不会替换其 requirepass。输出的密码以及仅依赖 CLI 退出码的健康检查,都不能证明认证成功。

受影响的文件、服务和数据

  • 默认创建 /data/redis7.0.5/data 和 conf;仅在 redis.conf 缺失时写入 bind 0.0.0.0、protected-mode yes、appendonly yes、快照规则和 requirepass。
  • Docker 未运行时会启动它,拉取 redis:7.0.5,强制删除同名容器后重建。挂载数据和只读配置,将所选宿主机端口映射到容器 6379,未限制宿主机绑定地址。数据和配置未经备份就会复用。

只读核验

  • 如使用自定义名称或路径,请替换示例。检查 `docker ps --filter name=redis705`、`docker logs --tail 100 redis705` 和 `docker inspect redis705 --format '{{json .Mounts}} {{json .HostConfig.PortBindings}}'`。
  • 用 `sudo grep -nE '^(bind|port|protected-mode|appendonly|dir) ' /data/redis7.0.5/conf/redis.conf` 查看不包含密码的配置项。
  • 用 `docker exec -it redis705 redis-cli --askpass PING` 在提示符输入实际有效的密码,并检查真正的 PONG 响应;另行核验应用访问和保留的数据。脚本仅判断命令退出码,不比较响应内容。

失败后的下一步

认证或就绪检查失败时,保全数据和 redis.conf,确认已有文件是否保留着不同密码,并私下检查所有者、发布端口和容器日志。健康检查仅报警后仍可能显示完成。解决配置问题、备份数据后再考虑替换;仅重新传入密码参数不会轮换已有配置中的密码。

Redis CLI

先下载、审阅并核对版本,再决定是否执行。哈希只能标识这一版字节,不能证明安全。pipe 命令会立即执行远程内容;上游依赖也可能变化。

相关文章

Redis 输出了新密码,为什么仍然认证失败

重跑 Redis 7.0.5 安装脚本前,先核对复用的 redis.conf;不用共享命令暴露密码,也不删除数据,直接检查实际响应。

相关专题

Docker 服务:检查接口和保留状态

按协议、数据目录和替换影响区分 HTTP、SQL、缓存、FastCGI 或镜像内应用。

查看专题