docker: MISCONF Redis配置为保存RDB快照

2023-12-04

与此类似的问题还有很多,例如:

Redis配置为保存RDB快照,但目前无法持久保存在磁盘上 - Ubuntu Server

MISCONF Redis 配置为保存 RDB 快照,但目前无法保留在磁盘上。可能修改数据集的命令被禁用

但这些都不能解决我的问题。

问题是我在 docker-compose 中运行我的 redis,并且无法理解如何在 docker-compose 启动时修复此问题。

The Redis 文档说这是修复:

echo 1 > /proc/sys/vm/overcommit_memory

当 Redis 安装在 docker 外部时,这才有效。但是如何使用 docker-compose 运行这个命令呢?

我尝试了以下方法:

1)添加命令:

services:
  cache:
    image: redis:5-alpine
    command: ["echo", "1", ">", "/proc/sys/vm/overcommit_memory", "&&", "redis-server"]
    ports:
      - ${COMPOSE_CACHE_PORT:-6379}:6379
    volumes:
      - cache:/data

这不起作用:

 docker-compose up
Recreating constructor_cache_1 ... done
Attaching to constructor_cache_1
cache_1  | 1 > /proc/sys/vm/overcommit_memory && redis-server
constructor_cache_1 exited with code 0

2) 安装/proc/sys/vm/目录。

这失败了:事实证明我无法安装到 /proc/ 目录。

3)覆盖入口点:

自定义入口点.sh:


#!/bin/sh
set -e

echo 1 > /proc/sys/vm/overcommit_memory


# first arg is `-f` or `--some-option`
# or first arg is `something.conf`
if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then
    set -- redis-server "$@"
fi

# allow the container to be started with `--user`
if [ "$1" = 'redis-server' -a "$(id -u)" = '0' ]; then
    find . \! -user redis -exec chown redis '{}' +
    exec su-exec redis "$0" "$@"
fi


exec "$@"

docker-compose.yml:

services:
  cache:
    image: redis:5-alpine
    ports:
      - ${COMPOSE_CACHE_PORT:-6379}:6379
    volumes:
      - cache:/data
      - ./.cache/custom-entrypoint.sh:/usr/local/bin/custom-entrypoint.sh
    entrypoint: /usr/local/bin/custom-entrypoint.sh

这也行不通。

如何解决这个问题?


处于同样的情况。检查 Docker 中的空间使用情况,发现分配给 Docker 的可用 VM 磁盘空间已用完。

如果安装了 Docker Dashboard,您可以使用它进行检查,或者运行docker system df

通过增加分配给 Docker 的 VM 磁盘空间或通过运行回收磁盘空间docker image prune为了删除悬空图像,我可以使用 docker compose 正常运行 Redis。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker: MISCONF Redis配置为保存RDB快照 的相关文章

随机推荐

  • 用于存储大量图像的SQL Server表结构

    在 SQL Server 2008 中存储大量图像数据的最佳实践是什么 我预计使用大约 5 GB 的存储空间来存储大约 50 000 张图像 目前我正在使用带有列的单个表来执行此操作 ID int PK identity Picture I
  • 如何在 HTTP post 请求的消息正文中附加 XML 文件?

    如何在 HTTP post 请求的消息正文中附加 XML 文件 任何人都可以举出这样的例子吗 以下是对所需 URL 发出 HTTP POST 请求的示例代码片段 try String myXML
  • 不和谐.py |播放 url 中的音频

    我想让我的机器人从某个网址播放音频 但我不想下载该文件 这是我的代码 commands command name test async def test self ctx search morpheus tutorials discord
  • 覆盖包中的图像

    我有这个 ShopBundle Controller Resources public images marker png views Default index html twig 在我的index html twig中 我想要这个 im
  • 从数据集中获取 byte[] 并压缩

    我正在从 WCF 操作返回一个自定义类 使用的绑定是netTcp 该自定义类包含多个数据成员 其中之一是数据集 根据特定操作 数据集可能会很大 我计划将数据集压缩为字节 然后返回自定义类 根据阅读 我想出了以下代码来从数据集中返回压缩字节
  • 现实世界的 LR(k > 1) 语法?

    制作 k gt 1 的人工 LR k 语法很容易 Input A1 B x Input A2 B y introduce reduce reduce conflict for terminal a A1 a A2 a B b b b b t
  • Symfony2:即使存在对象,也调用非对象上的成员函数 getId() ?

    我不断收到此错误 em this gt getDoctrine gt getEntityManager movie em gt getRepository MyMyBundle Movie gt findMovieByName movien
  • 我想让面板具有粗边框。我可以以某种方式设置这个吗?

    我想让面板具有粗边框 我可以以某种方式设置这个吗 PS 我用的是C 对比 2008 年 Jim 我制作了一个用户控件 并给出了一个 ParentControlDesigner 正如我在评论中指出的那样 这并不是您所要求的完美解决方案 但这应
  • 按给定位置替换文件中的字符串

    我有一个以 ab 模式打开的文件 我需要做的是将文件中的一些字节替换为另一个字符串的字节 这样 FILE thisissomethingasperfectlygood string 01234 因此 例如 我寻找位置 4 0 并且我想在文件
  • ASP.Net 母版页和文件路径问题

    我正在尝试在我的母版页中添加对 jQuery 的脚本引用 以便它适用于任何页面 目前看起来像这样 问题是路径始终相对于执行的 aspx 页面 因此仅当 jquery js 文件位于同一文件夹中时才有效 为了使其工作 我必须将该行更改为 这显
  • 类名实例而不是数据 - Dart/Flutter

    我得到的是 DeviceClass 的实例 而不是实际的数据字段 这是我的数据模型 import package meta meta dart import dart convert Device deviceFromJson String
  • 在 NumPy 中使用频率数组检索数组元素

    我有一个数字数组 a 我有第二个数组 b 指定我想要检索相应元素的次数a 如何才能实现这一目标 在这种情况下 输出的顺序并不重要 import numpy as np a np arange 5 b np array 1 0 3 2 0 d
  • Android 谷歌地图 java.lang.NoClassDefFoundError: 解析失败: Lorg/apache/http/ProtocolVersion

    我正在使用 Google 地图 Android SDK 11 6 2 也尝试过 15 0 1 但在地图显示之前出现以下崩溃 已检查清单中的API密钥 它是可用的 但仍然出现此问题 我的 targetSDk 版本为 28 是否会导致此问题 j
  • 如何获取表或视图中的列列表?

    有时 我有兴趣获取 SQL Server 2008 R2 数据库中的一个表或视图中的列列表 例如 如果您在不使用昂贵的现成产品的情况下构建数据库文档 那么它很有用 获取此信息的简单方法是什么 另一种方法是查询 INFORMATION SCH
  • 在 Unity 中打电话?

    我在我的 C 脚本中使用了 Application OpenURL tel 79011111115 出现拨号器 但未拨打电话 如果是 Java 我可以说它的工作原理如下 Intent call new Intent Intent ACTIO
  • 如果对象返回为空字符串而不是空结构,如何解组 json 对象

    我收到一些 JSON 数据 但如果对象为空 它不会返回空结构 而是返回空 字符串代替 并且在解组时 它返回一个错误 所以而不是数据 key is key 即使使用 omitempty 字段也不起作用 例子 https play golang
  • 将数据从 PostgreSQL 传输到 MySQL

    您好 有什么方法可以将表布局和数据从 Postgres 数据库自动传输到 MySQL 吗 我必须将架构和数据迁移到 MYSQL 最简单的可能是使用 Postgres 将数据库 架构和数据 导出为 SQLpg dump效用 那么import将
  • 实体框架 4:多对多关系 IQueryable 而不是 ICollection

    大家 早安 我试图首先解决我在 EF 代码中遇到的问题 我的架构如下 public class Article IUrlNode Key public Guid ArticleID get set public string Title g
  • 为什么arguments.callee.caller.name未定义?

    为什么这不提醒 http 127 0 0 1 sendRequest 可在http jsfiddle net Gq8Wd 52 var foo sendRequest function alert bar getUrl var bar ge
  • docker: MISCONF Redis配置为保存RDB快照

    与此类似的问题还有很多 例如 Redis配置为保存RDB快照 但目前无法持久保存在磁盘上 Ubuntu Server MISCONF Redis 配置为保存 RDB 快照 但目前无法保留在磁盘上 可能修改数据集的命令被禁用 但这些都不能解决