Есть контейнер редис в докере
# Redis
redis:
image: redis:4.0.6
build:
context: .
dockerfile: dockerfile_redis
volumes:
- "./redis.conf:/usr/local/etc/redis/redis.conf"
ports:
- "6379:6379"
Запускается при старте docker-compose up -d
1. После приблизительно 4-6 часов работы появляется ошибка, как ее исправить?
Failed opening the RDB file backupall.db (in server root dir /run) for saving: Permission denied
Конфигурационный файл редиса для докер контейнера
CMD ["chown", "redis:redis", "-R", "/etc"]
CMD ["chown", "redis:redis", "-R", "/var/lib"]
CMD ["chown", "redis:redis", "-R", "/run"]
CMD ["sudo", "chmod", "644", "/data/dump.rdb" ]
CMD ["sudo", "chmod", "755", "/etc" ]
CMD ["sudo", "chmod", "770", "/var/lib" ]
CMD ["sudo", "chmod", "777", "/run" ]
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
Еще при старте редиса смущают предупреждения о том, что конфиг файл используется дефолтный.
1:C 05 Mar 07:23:56.263 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 05 Mar 07:23:56.263 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 05 Mar 07:23:56.263 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
1:M 05 Mar 07:23:56.265 * Running mode=standalone, port=6379.
1:M 05 Mar 07:23:56.265 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1:M 05 Mar 07:23:56.265 # Server initialized
1:M 05 Mar 07:23:56.265 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
2. Действительно кастомные конфиги не исользуются?
3. Как настроить редис для безотказной работы?
В сети много статей на эту тему, но у всех очень разный подход и сходу не разберешься что нужно изменять, а что лучше не трогать.