Я использую официальное redis
изображение с sidekiq
на dockers
.
Ниже приведены yml
конфигурации для redis
изображения:
redis:
build: .
dockerfile: Dockerfile-redis
ports:
- '6379:6379'
volumes:
- 'redis:/var/lib/redis'
sidekiq:
build: .
command: bundle exec sidekiq
links:
- db
- redis
volumes:
- .:/app
env_file:
- .env
Ниже приведен код моего Dockerfile-redis
:
FROM redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
Когда я создаю образы, все работает нормально, но через некоторое время docker-compose logs
показывает следующее permission
ошибка:
redis_1 | 98:C 22 Jan 2019 18:40:10.098 # Failed opening the RDB file dump.rdb (in server root dir /var/lib/redis) for saving: Permission denied
redis_1 | 1:M 22 Jan 2019 18:40:10.203 # Background saving error
Я пробовал много решений, но я все еще получаю эту ошибку в журналах. Каждый раз, когда Redis отказано в разрешении на открытие dump.rdb
файла. Я также следовал этому решению и внес следующие изменения в мой Dockerfile-redis
, чтобы дать root
разрешение на redis
USER root
CMD chown -R root:root /var/lib/redis/
CMD chown 777 /var/lib/redis/
CMD chown 777 /var/lib/redis/dump.rdb
Я пробовал 755
для dir
и 644
для dbfilename
, но у меня это не сработало. Я также попробовал вышеуказанные конфигурации Dockerfile-redis
с пользователем redis
, но все равно получаю ту же ошибку permission denied
при открытии файла dump.rdb
.
Я не знаю, что я здесь делаю неправильно. Пожалуйста, помогите мне с этим