Vấn đề là với ràng buộc của bạn, Bạn nên đặt như sau:
bind 0.0.0.0
Điều này sẽ đặt redis
để liên kết với tất cả các giao diện có sẵn, trong môi trường được chứa đựng với một giao diện, (eth0
) và một vòng lặp (lo
) redis sẽ liên kết với cả hai điều trên. Bạn nên cân nhắc thêm các biện pháp bảo mật thông qua các lệnh khác trong config file
hoặc sử dụng các công cụ bên ngoài như firewalls
. bởi vì với cách tiếp cận này, mọi người đều có thể kết nối với redis
của bạn máy chủ.
Cài đặt mặc định là bind 127.0.0.1
và cài đặt này sẽ gây ra redis
để chỉ lắng nghe trên giao diện loopback và nó sẽ chỉ có thể truy cập được từ bên trong vùng chứa. (để bảo mật)
Để chạy redis với tệp cấu hình tùy chỉnh:
sudo docker run -d --name redis-test -p 6379:6379 -v /path/to/redisconf/redis.conf:/redis.conf redis redis-server /redis.conf
Bây giờ để xác minh trên máy chủ docker với redis-tools
đã cài đặt:
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>
Bạn cũng có thể kết nối với redis
của mình vùng chứa từ máy chủ bên ngoài qua:
redis-cli -h 'IP-address-of-dockerhost-running-redis-container'