Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Kết nối với Redis đang chạy trong Docker Container từ máy chủ

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'


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. nô lệ redis sẽ không đồng bộ với chủ

  2. Redis keyspace sự kiện không kích hoạt

  3. Kết nối lại với 127.0.0.1:6379 không thành công - kết nối ECONNREFUSED

  4. Để bắt đầu tải YCSB với tùy chọn kích hoạt cụm cho REDIS

  5. Các phím redis không được hiển thị khi sử dụng Cache front trong Laravel