【问题标题】:Setting redis configuration with docker in windows在 windows 中使用 docker 设置 redis 配置
【发布时间】:2019-06-13 10:20:52
【问题描述】:

我想在docker中设置redis配置。

我在 D:/redis/redis.conf 下有自己的 redis.conf,并将其配置为绑定 127.0.0.1 并取消注释 requirepass foobared

然后使用这个命令在docker中加载这个配置:

docker run --volume D:/redis/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf

接下来, 我在src/resources 下的maven 项目中的应用程序中有docker-compose.yml。

我的 docker-compase.yml 中有以下内容

redis:
 image: redis
 ports:
   - "6379:6379"

然后我执行命令:

docker-compose up

服务器运行,但是当我用命令检查时:

docker ps -a 

显示 redis Image 运行在 0.0.0.0:6379。

我希望它在 127.0.0.1 运行。

我如何得到它? 是我的配置文件没有加载还是错误?还是我的命令有误?

任何建议都会有很大帮助。

PS:我使用的是 Windows。

谢谢

【问题讨论】:

    标签: maven docker redis


    【解决方案1】:

    尝试执行:

    docker inspect <container_id>
    

    并使用“NetworkSettings”->“Gateway”(必须是 172.17.0.1)值而不是 127.0.0.1。

    您不能使用 127.0.0.1,因为您的 Redis 是在隔离环境中运行的。

    或者你可以链接你的容器。

    【讨论】:

    • 感谢您的回复@Aleksandr 是的,它显示 172.17.0.1。我将 redis.conf 中的绑定更改为绑定 172.17.0.1。但是当我再次执行命令 docker run --volume D:/redis/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis /redis.conf 并执行命令 docker-compose up 显示相同
    【解决方案2】:

    所以首先你不应该担心 redis 说正在监听0.0.0.0:6379。因为redis是在容器内部运行的。如果它不监听0.0.0.0,那么您将无法建立任何连接。

    接下来如果你想让redis只在localhost上监听localhost那么你需要在下面使用

    redis:
     image: redis
     ports:
       - "127.0.0.1:6379:6379"
    

    PS:我还没有使用127.0.0.1 端口映射为windows 运行容器或docker,所以你必须看看它是否有效。因为 Windows、Mac 和 Linux 中的主机网络不同,可能无法以这种方式工作

    【讨论】:

    • 感谢您的回复。我试过你说的,但令人惊讶的是它说绑定 127.0.0.1:6379 失败:端口已分配。不知道发生了什么
    • 我只是注意到,每当我更改绑定或取消注释 requirepass 时,我都会拒绝连接,以防我将 ip 保留为 127.0.0.1 或网关,并在我的 redis 中将密码设为空。 yml 然后它工作。所以我认为我的 redis.conf 没有正确加载,尽管它显示配置已加载
    • 假设您使用 Docker for Windows,您的 D: 是否在 Docker 设置中与 Docker VM 共享?
    • 是的,我可以在 docker 设置中看到我的驱动器正在共享
    • redis 绑定在配置中应始终为0.0.0.0。同时运行docker-compose exec redis cat /usr/local/etc/redis/redis.conf 以确保您传递的配置在容器内
    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-23
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    相关资源
    最近更新 更多