Compruebe / conecte a Redis que se ejecuta dentro de la window acoplable desde Java (Spring Boot) o Node.js

Empecé rápidamente con Redis en PC con Windows

docker run -p 6379:6379 networkingis 

(Redis no tiene distribución de Windows, fork para Windows no es la última versión)

 1:C 10 Sep 08:17:03.635 # Warning: no config file specified, using the default config. In order to specify a config file use networkingis-server /path/to/networkingis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.2.3 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 1 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://networkingis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' ... 1:M 10 Sep 08:17:03.644 * The server is now ready to accept connections on port 6379 

Entonces, sin embargo, no puedo conectarme desde la aplicación Spring Boot. Con application.properties como

 spring.networkingis.host=localhost spring.networkingis.port=6379 

obtuvo un error

 Caused by: networkingis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect at networkingis.clients.jedis.Connection.connect(Connection.java:164) ~[jedis-2.8.2.jar:na] at networkingis.clients.jedis.BinaryClient.connect(BinaryClient.java:80) ~[jedis-2.8.2.jar:na] at networkingis.clients.jedis.BinaryJedis.connect(BinaryJedis.java:1677) ~[jedis-2.8.2.jar:na] at networkingis.clients.jedis.JedisFactory.makeObject(JedisFactory.java:87) ~[jedis-2.8.2.jar:na] at org.apache.commons.pool2.impl.GenericObjectPool.create(GenericObjectPool.java:868) ~[commons-pool2-2.4.2.jar:2.4.2] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:435) ~[commons-pool2-2.4.2.jar:2.4.2] at org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363) ~[commons-pool2-2.4.2.jar:2.4.2] at networkingis.clients.util.Pool.getResource(Pool.java:49) ~[jedis-2.8.2.jar:na] ... 23 common frames omitted Caused by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_45] at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_45] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_45] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_45] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_45] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_45] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_45] at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_45] at networkingis.clients.jedis.Connection.connect(Connection.java:158) ~[jedis-2.8.2.jar:na] ... 30 common frames omitted 

Cuando trato de usar Node.js con node_networkingis ejemplo, obtuve

 Error Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 

Como mencionó (en los comentarios), networkingis incluyó su image con protected-mode establecido en sí ( ver aquí ).

Cómo moverse en modo protegido

  • 1) Simplemente deshabilite el modo protegido enviando el command 'CONFIG SET SET protected-mode no' de la interfaz loopback conectándose a Redis desde el mismo host que el server está ejecutando, sin embargo, ASEGÚRESE de que no se puede acceder a Redis desde Internet si lo hace. Use CONFIG REWRITE para que este cambio sea permanente.
  • 2) Alternativamente, puede desactivar el modo protegido editando el file de configuration Redis, y configurando la opción del modo protegido en 'no', y luego reiniciando el server.
  • 3) Si inició el server manualmente solo para probarlo, reinícielo con la opción '- modo protegido no'.
  • 4) Configure una dirección de vinculación o una contraseña de authentication.

fuente: networkingis-github

Crea tu propia image

  • Podrías crear tu propia image tirando networkingis y AGREGAR tu propio networkingis.conf a la image?
  • O actualice el command de inicio en Dockerfile para deshabilitar el modo protegido: CMD [ "networkingis-server", "--protected-mode", "no" ]

También puede echar un vistazo a este file Docker que contiene la modificación sugerida anteriormente (última línea): https://github.com/docker-library/networkingis/blob/23b10607ef1810379d16664bcdb43723aa007266/3.2/Dockerfile

Este Dockerfile se proporciona en un problema de Redis en github , reemplaza el command de inicio con CMD [ "networkingis-server", "--protected-mode", "no" ] . Simplemente puede download este file Docker y escribir:

 $ docker build -t networkingis-unprotected:latest . $ docker run -p 6379:6379 networkingis-unprotected 

Gracias a Alex responde y comenta en https://github.com/docker-library/networkingis/issues/74
Pude conectarme a Redis usando IP completa 192.168.99.100:6379

Tenga en count que la última image 3.2 tiene el modo protegido deshabilitado https://github.com/docker-library/networkingis/issues/75