在Windows中使用docker设置redisconfiguration

我想在docker中设置redisconfiguration。

我有我自己的redis.conf在D:/redis/redis.conf下,并且configuration它绑定了127.0.0.1,并且注释了requirepass foobared

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

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图像运行在0.0.0.0:6379。

我希望它运行在127.0.0.1。

我如何得到这个? 不是我的configuration文件加载或者是错的? 或者我的命令错了?

任何build议都很有帮助。

PS:我正在使用Windows。

谢谢

尝试执行:

 docker inspect <container_id> 

并使用“networking设置” – >“网关”(它必须是172.17.0.1)值而不是127.0.0.1。

您的Redis在孤立的环境中运行,因此无法使用127.0.0.1。

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

所以,首先你不应该担心redis在0.0.0.0:6379收听。 因为redis在容器中运行。 如果它不听0.0.0.0那么你将无法build立任何连接。

接下来,如果你想让redis只在本地主机上监听本地主机,那么你需要使用下面

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

PS:我没有运行与127.0.0.1端口映射的Windows的容器或docker,所以你将不得不看它是否工作。 由于Windows,Mac和Linux中的主机networking不同,可能无法以此方式工作