在docker容器中持久化redis数据时权限被拒绝的问题
我想创建一个redis容器,需要将容器中的rdp和日志文件装载到主机上。我有一个docker撰写文件,如下所示在docker容器中持久化redis数据时权限被拒绝的问题,docker,redis,docker-compose,docker-volume,Docker,Redis,Docker Compose,Docker Volume,我想创建一个redis容器,需要将容器中的rdp和日志文件装载到主机上。我有一个docker撰写文件,如下所示 version: '2' services: redis: image: xxxx/redis container_name: redis restart: unless-stopped volumes: - /redis/data:/var/lib/redis - /redis/log:/var/log/redis
version: '2'
services:
redis:
image: xxxx/redis
container_name: redis
restart: unless-stopped
volumes:
- /redis/data:/var/lib/redis
- /redis/log:/var/log/redis
ports:
- "6379:6379"
如果它如上所述装载卷,则redis不会在容器内运行,有时由于权限被拒绝错误而无法保存rdb文件。如果我创建了一个没有卷装载的容器,那么一切都正常
在做了一些搜索之后,我发现redis中/var/lib/redis和/var/log/redis文件夹的权限是redis:redis,但主机中装载的卷的权限是root:root。我无法更改主机中作为redis的权限,因为redis用户将不可用。如果我在容器内将权限更改为root:root,则不会保存rdp文件
有人能建议如何解决这个问题吗