AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1097329
Accepted
Mudassar Hashmi
Mudassar Hashmi
Asked: 2022-03-30 12:40:34 +0800 CST2022-03-30 12:40:34 +0800 CST 2022-03-30 12:40:34 +0800 CST

Docker Compose 中的 Redis 拒绝 RDB 文件 Crontab 的权限

  • 772

嗨,我有以下 docker-compose.yaml 文件。

version: "3.9"

volumes:
  local_postgres_data2: {}
  local_postgres_data_backups2: {}

services:
  postgres:
    image: postgres
    container_name: angel-postgres
    restart: always
    volumes:
      - local_postgres_data2:/var/lib/postgresql/data:Z
      - local_postgres_data_backups2:/backups:z
    environment:
      POSTGRES_DB: angel-agility
      POSTGRES_HOST: localhost
      POSTGRES_USER: angel-user
      POSTGRES_PASSWORD: angel123
    ports:
      - "5432:5432"

  redis:
    container_name: angel-redis
    image: redis:latest
    ports:
      - '6379:6379'
    restart: unless-stopped

当我运行 docker-compose up 时,Redis 的日志中出现错误:

2276:C 29 Mar 2022 20:32:52.005 # Failed opening the RDB file crontab (in server root dir /etc) for saving: Permission denied
1:M 29 Mar 2022 20:32:52.105 # Background saving error

我在不同平台上尝试了所有解决方案,但无法使 Redis 工作。一个线索或方向使它工作将受到高度赞赏。

还简要介绍了这个问题,为什么它的发生也会对读者和我有很大的帮助。期待。

docker-compose redis aws-ec2
  • 1 1 个回答
  • 501 Views

1 个回答

  • Voted
  1. Best Answer
    posixpascal
    2022-08-20T01:20:46+08:002022-08-20T01:20:46+08:00

    我以类似的方式在 AWS ECS 上运行 redis 容器时遇到了同样的问题。

    我连接到redis容器并执行:

    redis-cli
    > CONFIG GET dbfilename
    

    它返回以下内容:

    1) "dbfilename"
    2) "crontab"
    

    我试图通过运行config set dbfilename "dbfilename"which failed 并出现错误来删除 crontab 文件。

    我发现 redis 在没有配置文件的情况下运行。所以我为 redis 添加了一个额外的卷并使用touch data/redis/config/redis.conf.

    然后我相应地更改了我的撰写文件:

      redis:
        container_name: redis
        command: redis-server /conf/redis.conf
        image: redis:latest
        volumes:
           - "./data/redis/data:/data"
           - "./data/redis/config:/conf"
        ports:
          - '6379:6379'
        restart: unless-stopped
    

    重新启动容器后,我运行了相同的CONFIG GET dbfilename命令,但这次 crontab 文件丢失了。

    之后一切正常:)

    Redis 配置

    如果可以从 Internet 访问,还请确保为您的 redis 服务器设置密码。

        docker run -d \
        -h redis \
        -e REDIS_PASSWORD=your-super-secure-password \
        -v redis-data:/data \
        -v redis-config:/conf \
        -p 6379:6379 \
        --name redis \
        --restart always \
        redis:latest /bin/sh -c 'redis-server /conf/redis.conf --appendonly yes --requirepass ${REDIS_PASSWORD}'
    
    • 0

相关问题

  • docker - nodejs - selenium-webdriver - 错误:服务器提前终止,状态为 127

  • 使用新配置重新创建单个 docker-compose 容器

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve