docker 组成: 版本:'3'
服务: redis-master: 图片:redis:6.0-alpine 网络模式:主机 容器名称:主容器 命令:redis-server /etc/redis/redis.conf 卷: - ./config/redis/redis.conf:/etc/redis/redis.conf
sentinel-1: 图片:redis:6.0-alpine 网络模式:主机 容器名称:sentinel1 命令:redis-sentinel /etc/redis/sentinel.conf 卷: - /config/sentinel/sentinel.conf:/etc/redis/sentinel.conf
====================================================== =========================================
*如果您对图像标签有疑问,我什至尝试了最新的 redis 图像。 我检查了sentinel容器内/etc/redis文件夹的内容,发现sentinel.conf文件成为了里面的文件夹。谁能解释为什么它变成一个文件夹以及如何解决这个错误警告? 预先感谢!
发生该错误是因为 Sentinel 需要配置文件所在文件夹的写入权限。 Sentinel 需要此权限才能创建临时文件并能够更新配置文件。
您在
sentinel.conf
中看到名为 /etc/redis
的文件夹的原因是因为 volumes
中的 docker-compose.yaml
设置。该设置应该是文件夹的路径。当您在路径中添加文件名时,文件名将被解释为文件夹。对于 redis-master
服务也是如此。 docker-compose.yaml
文件应为:
services:
redis-master:
...
volumes:
- ./config/redis:/etc/redis
sentinel-1:
...
volumes:
- /config/sentinel:/etc/redis