問題はバインドにあります。次のように設定する必要があります:
bind 0.0.0.0
これにより、redis
が設定されます 1つのインターフェース(eth0
)を備えたコンテナー化された環境で、使用可能なすべてのインターフェースにバインドします。 )およびループバック(lo
)redisは上記の両方にバインドされます。 config file
の他のディレクティブを介してセキュリティ対策を追加することを検討する必要があります またはfirewalls
などの外部ツールを使用する 。このアプローチでは、誰もがあなたのredis
に接続できるからです サーバー。
デフォルト設定はbind 127.0.0.1
です。 この設定により、redis
が発生します ループバックインターフェイスでのみリッスンし、コンテナ内からのみアクセスできます。 (セキュリティのため)
カスタム構成ファイルを使用してredisを実行するには:
sudo docker run -d --name redis-test -p 6379:6379 -v /path/to/redisconf/redis.conf:/redis.conf redis redis-server /redis.conf
次に、redis-tools
を使用してDockerホストで確認します インストール済み:
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>
redis
に接続することもできます 外部ホストからのコンテナ:
redis-cli -h 'IP-address-of-dockerhost-running-redis-container'