如何修复 redis redis-1 Failed opening the temp RDB file ... for saving: Permission denied

问题

在你的基于 docker 的 redis 设置中,你看到以下错误消息:

error_trace.txt
13:C 13 Jul 2024 01:59:10.966 # Failed opening the temp RDB file temp-13.rdb (in server root dir /data) for saving: Permission denied

解决方案

你需要修复 redis 容器中 /data 目录的权限。

你可能像我们的最小 Redis Docker-Compose 模板那样将目录挂载为卷:

docker-compose-redis.yml
services:
  redis:
    image: redis:7-alpine
    user: 1000:1000
    # [...]
    volumes:
      - ./redis_data:/data # <--

在你的 docker-compose.yml 中,查找 /data 卷(本例中为 ./redis_data)。

同时,你需要找出 redis 运行在哪个用户 ID / 组 ID 下(本例中为 1000:1000)。

然后,你需要将 /data 目录的权限设置为正确的用户 ID / 组 ID:

fix_redis_data_permissions.sh
chown -R 1000:1000 redis_data

之后无需重启 redis,因为错误应该立即消失。


Check out similar posts by category: Databases, Docker, Networking