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

Kết nối vùng chứa Redis với vùng chứa khác (Docker)

Thật dễ dàng để làm cho một dịch vụ do Docker lưu trữ chỉ có thể truy cập được đối với các vùng chứa khác trên cùng một máy chủ. Nếu bạn:

  1. Đặt máy chủ để liên kết hoặc lắng nghe trên 0.0.0.0 hoặc ::0 (tất cả các địa chỉ);
  2. Tạo một mạng Docker không mặc định (Docker Compose sẽ tự động thực hiện việc này);
  3. Khởi chạy vùng chứa máy chủ và bất kỳ vùng chứa máy khách nào được liên kết trên mạng Docker đó (Docker Compose sẽ thực hiện việc này theo mặc định); và
  4. Không không đặt docker run -p hoặc Docker Compose ports: tùy chọn

thì các vùng chứa ứng dụng khách có thể đến vùng chứa máy chủ bằng cách sử dụng tên vùng chứa của nó làm tên máy chủ lưu trữ, nhưng các quy trình không phải Docker trên máy chủ và các máy chủ khác không thể truy cập máy chủ.

Nếu máy chủ của bạn có nhiều giao diện mạng và liên kết với một trong những giao diện đó sẽ khiến dịch vụ trở thành "riêng tư" thì bạn có thể làm điều tương tự với docker run -p . Nếu máy chủ của bạn có địa chỉ IP công cộng 10.20.30.40/16 và cả địa chỉ IP riêng 192.168.144.128/24 thì docker run -p 192.168.144.128:6379:6379 sẽ cung cấp nó cho mạng riêng (và các vùng chứa Docker khác như trên) chứ không phải mạng công cộng. (Bản thân máy chủ, bên trong vùng chứa, vẫn cần liên kết với 0.0.0.0.)

Nếu bạn cần máy chủ hiển thị ngoài máy chủ, nhưng chỉ với một số địa chỉ IP, tôi nghĩ rằng bạn đang sử dụng iptables ma thuật không có nguồn gốc từ Docker.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách thực hiện một giao dịch phân tán trên Mysql, Redis và Mongo

  2. Redis - Chỉ mục hết hạn không bị xóa

  3. Socket.io, Redis Store và IE

  4. Quy trình ngựa công việc bị chấm dứt bất ngờ RQ và Trị liệu

  5. Redis không cập nhật khi có nhiều yêu cầu cùng một lúc