gpt4 book ai didi

docker - 带有自定义文件 redis.conf 的 docker 容器中的 Redis 不起作用

转载 作者:可可西里 更新时间:2023-11-01 11:16:54 25 4
gpt4 key购买 nike

我想在docker容器中搭建主从redis;而且我想在slave的容器中使用redis.conf;

测试环境:win7+Docker Quickstart Terminal;

启动前,创建三个文件redis-6379、redis-6380、redis-6381到这个路径:'~/Desktop/redis/';然后为每个文件创建redis.conf;(使用官方配置);然后使用Docker 快速入门运行命令:

cp -rf ~/Desktop/redis/ /usr/local/

files content

我按照以下步骤执行此操作:

1、修改redis.conf(redis-6381/redis-6380)

slaveof 172.17.0.2 6379

2、指定这个redis.conf

docker run -v /usr/local/redis/redis-6381/redis.conf:/usr/local/etc/redis/redis.conf --name redis-6381 -p 6381:6379 -d redis redis-server  /usr/local/etc/redis/redis.conf

docker logs 给我:Configuration loaded;Actually redis.conf has no effect;信息复制显示,这个redis仍然是master角色;

然后,我用这种方法试了一下,成功了:

docker run --name redis-6381 -p 6381:6379 -d redis redis-server slaveof 172.17.0.2 6379

那么,为什么 redis.conf 不能工作?

最佳答案

您需要使用 -v ~/Desktop/redis/redis-6381/redis.conf:/usr/local/etc/redis/r‌ edis.conf 而不是/usr/local `

问题是,当你在 Windows 上工作时,Docker 会自动将你的一些驱动器共享给运行 docker 的 VM。所以你的路径会起作用。

但 MingW 可能在其他地方托管 /usr/local 文件夹,并向您展示它安装在 /usr/。我不使用 Windows,因此无法为您确认这一点。

当你使用 -v/usr/local/redis/redis-6381/redis.conf:/usr/local/etc/redis/redis.conf 主机路径不翻译内幕docker,因此创建并映射了一个空白文件。

关于docker - 带有自定义文件 redis.conf 的 docker 容器中的 Redis 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45856439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com