嗨,我有以下 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 工作。一个线索或方向使它工作将受到高度赞赏。
还简要介绍了这个问题,为什么它的发生也会对读者和我有很大的帮助。期待。
我以类似的方式在 AWS ECS 上运行 redis 容器时遇到了同样的问题。
我连接到redis容器并执行:
它返回以下内容:
我试图通过运行
config set dbfilename "dbfilename"
which failed 并出现错误来删除 crontab 文件。我发现 redis 在没有配置文件的情况下运行。所以我为 redis 添加了一个额外的卷并使用
touch data/redis/config/redis.conf
.然后我相应地更改了我的撰写文件:
重新启动容器后,我运行了相同的
CONFIG GET dbfilename
命令,但这次 crontab 文件丢失了。之后一切正常:)
如果可以从 Internet 访问,还请确保为您的 redis 服务器设置密码。