Problem dotyczy twojego powiązania. Powinieneś ustawić:
bind 0.0.0.0
To ustawi redis
do powiązania ze wszystkimi dostępnymi interfejsami w skonteneryzowanym środowisku z jednym interfejsem (eth0
) i sprzężenie zwrotne (lo
) redis powiąże się z obydwoma powyższymi. Powinieneś rozważyć dodanie środków bezpieczeństwa za pomocą innych dyrektyw w config file
lub za pomocą zewnętrznych narzędzi, takich jak firewalls
. ponieważ dzięki takiemu podejściu każdy może połączyć się z Twoim redis
serwer.
Domyślne ustawienie to bind 127.0.0.1
a to ustawienie spowoduje redis
nasłuchiwać tylko na interfejsie pętli zwrotnej i będzie dostępny tylko z wnętrza kontenera. (dla bezpieczeństwa)
Aby uruchomić redis z niestandardowym plikiem konfiguracyjnym:
sudo docker run -d --name redis-test -p 6379:6379 -v /path/to/redisconf/redis.conf:/redis.conf redis redis-server /redis.conf
Teraz do weryfikacji na hoście dockera za pomocą redis-tools
zainstalowany:
redis-cli
127.0.0.1:6379>
127.0.0.1:6379> set farhad likes:stackoverflow
OK
127.0.0.1:6379> get farhad
"likes:stackoverflow"
127.0.0.1:6379>
Możesz także połączyć się ze swoim redis
kontener z zewnętrznego hosta przez:
redis-cli -h 'IP-address-of-dockerhost-running-redis-container'