当前位置: 首页 > 知识库问答 >
问题:

将redis与docker-complace一起使用:MISCONF Redis配置为保存RDB快照,但目前无法保留在磁盘上

柳项明
2023-03-14

我相信这个问题在这里得到了一些回答:MISCONF Redis被配置为保存RDB快照。

我目前正在运行一个Redis docker容器,它不时返回以下错误:

MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.

结合:

redis_1        | 4410:C 06 Feb 2020 23:50:57.045 # Failed opening the RDB file crontab (in server root dir /etc) for saving: Permission denied

这是因为redis的空间不够吗?我能做些什么来清理redis吗?我只使用redis作为消息代理层,因此实际上不需要持久化数据。。。

我还看到以下WARNINGS来自redis容器:

# WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

我觉得这个问题可能是让redis/devops专家概述使用docker compose配置redis的最佳方法的绝佳机会,我目前有:

  redis:
    build:
      context: ./redis
      dockerfile: Dockerfile
    ports:
      - '6379:6379'
    volumes:
        - ./redis.conf:/usr/local/etc/redis/redis.conf
    sysctls:
      net.core.somaxcomm: '511'
    restart: on-failure

如果有更好的事情可以做,那将是令人惊讶和感激的。

共有1个答案

孟浩然
2023-03-14

更新:使用expose而不是port,因此服务仅对链接的服务可用

在不将端口发布到主机的情况下公开端口-它们只能由链接的服务访问。只能指定内部端口。

expose
 - 6379

原始答案:您的redis实例可能已向互联网开放。您可以使用redis。conf-to-bind 127.0.0.1只允许本地连接。

请参见此处的详细答案

 类似资料:
  • 每当我在redis中执行任何修改数据的命令时,我会得到以下错误 我在Mac上使用brew安装了redis。如何获取redis-server将信息记录到的日志文件的位置。我试着找redis Conf。文件,但也找不到。 我如何摆脱上面的错误,并且能够在Redis中执行修改数据的命令。

  • 我正在使用Redis,但我有一个错误:MISCONF Redis被配置为保存RDB快照,但当前无法保存在磁盘上。禁用可能修改数据集的命令。有关错误的详细信息,请查看Redis日志 服务器:CentOS 7-Vultr 但是,我不是用建议来解决的。 拜托,帮帮我。

  • 我使用reddison客户端,但当客户端出现错误“Miscf Redis配置为保存RDB快照,但当前无法在磁盘上持久化”时 {"log":"3443340: C 09 Apr00:12:41.648*DB保存在磁盘上\n","stream":"stdout","time":"2022-04-09T00:12:41.649083457Z"}{"log":"3443340: C 09 Apr00:12

  • 我使用的是redis alpine的容器,在生产过程中——在我的服务器上——出现了这个错误。我发现Miscf Redis配置为保存RDB快照,并进行了检查,但其中的建议都不起作用。 这是错误消息:

  • 我使用的是CentOS6.9。我已经使用安装了Redis: 在安装过程中没有给出任何错误。 但是,每当我发出命令(例如或),它都会给出以下错误消息: (错误)MISCONF Redis配置为保存RDB快照,但当前无法在磁盘上持久化。禁用可能修改数据集的命令。有关该错误的详细信息,请查看Redis日志。 我发现MISCONF Redis被配置为保存RDB快照。但里面的建议都不起作用。 上面的公认答案

  • 问题内容: 在写入Redis()期间,出现以下错误: MISCONF Redis配置为保存RDB快照,但当前无法持久保存在磁盘上。禁用了可能修改数据集的命令。请检查Redis日志以获取有关该错误的详细信息。 基本上,我了解到问题在于redis无法将数据保存在磁盘上,但是不知道如何解决该问题。 同样,以下问题也有相同的问题,它很久以前就被抛弃了,没有答案,很可能没有尝试解决该问题。 问题答案: 万一