无法打开 RDB 文件根目录(在服务器根目录 /etc/crontabs 中)进行保存:权限被拒绝

Lok*_*ice 8 redis docker-compose

使用redis部署docker-compose时出现此错误

220:C 23 Jul 2020 11:21:59.091 # Failed opening the RDB file root (in server root dir /etc/crontabs) for saving: Permission denied
Run Code Online (Sandbox Code Playgroud)

1:M 23 Jul 2020 11:21:59.191 # 后台保存错误

我的 docker-compose 文件是

version: '3'
services:
 main-otp-api:
  image: "mainotp/api:latest"
  ports:
   - "5000:5000"
 redis:
  image: "redis:alpine"
  ports:
   - "6379:6379"
  volumes: 
   - /home/mainotp-server/redis:/data
   - /home/mainotp-server/conf/redis.conf:/usr/local/etc/redis/redis.conf
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我吗?

And*_*iti 1

因此,对于遇到此问题的任何人,这里有一个解决方案可以解决您的问题。使用交互式终端访问redis容器shell

docker exec -it redis-container-id /bin/bash
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样root@c4da3f40b65f:/data#
运行cd到文件目录的根目录。输出root@c4da3f40b65f:~#

/data在根目录中更改和 的文件权限/etc

跑步

chmod 777 -R /data  // for the data directory
chmod 777 -R /etc   // for etc folder.
Run Code Online (Sandbox Code Playgroud)

您不必担心用户组问题。

  • 但这将打破所有安全漏洞。你的系统变得脆弱 (2认同)