在windows中使用docker设置redis配置

时间:2017-10-06 14:44:04

标签: maven docker redis

我想在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 Project中的应用程序中有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。

由于

2 个答案:

答案 0 :(得分:1)

尝试执行:

docker inspect <container_id>

并使用&#34; NetworkSettings&#34; - &gt;&#34; Gateway&#34; (必须是172.17.0.1)值而不是127.0.0.1。

由于您的Redis在隔离环境中运行,因此无法使用127.0.0.1。

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

答案 1 :(得分:1)

首先,你不应该担心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端口映射的窗口运行容器或docker,因此您必须查看它是否有效。因为Windows,Mac和Linux中的主机网络不同,可能无法以这种方式工作