Masalahnya ada pada ikatan Anda, Anda harus mengatur yang berikut:
bind 0.0.0.0
Ini akan mengatur redis
untuk mengikat semua antarmuka yang tersedia, dalam lingkungan kemas dengan satu antarmuka, (eth0
) dan loopback (lo
) redis akan mengikat kedua hal di atas. Anda harus mempertimbangkan untuk menambahkan tindakan keamanan melalui arahan lain di config file
atau menggunakan alat eksternal seperti firewalls
. karena dengan pendekatan ini semua orang dapat terhubung ke redis
your Anda server.
Pengaturan default adalah bind 127.0.0.1
dan pengaturan ini akan menyebabkan redis
untuk hanya mendengarkan pada antarmuka loopback, dan itu hanya dapat diakses dari dalam wadah. (untuk keamanan)
Untuk menjalankan redis dengan file konfigurasi khusus:
sudo docker run -d --name redis-test -p 6379:6379 -v /path/to/redisconf/redis.conf:/redis.conf redis redis-server /redis.conf
Sekarang untuk memverifikasi pada host buruh pelabuhan dengan redis-tools
terpasang:
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>
Anda juga dapat terhubung ke redis
container dari host eksternal melalui:
redis-cli -h 'IP-address-of-dockerhost-running-redis-container'