Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

नोडज डॉकर छवि पर रेडिस चलाना

सबसे अच्छा समाधान डॉकटर कंपोज़ का उपयोग करना होगा। इसके साथ आप एक रेडिस कंटेनर बनाएंगे, उससे लिंक करेंगे और फिर अपना नोड.जेएस ऐप शुरू करेंगे। पहली बात यह होगी कि यहां विस्तृत रूप से डॉकर कंपोज़ स्थापित करें - (https://docs.docker.com/compose/install/)।

एक बार जब आप इसे चालू कर लेते हैं, तो आपको अपने ऐप के dockerfile के समान फ़ोल्डर में docker-compose.yml बनाना चाहिए। इसमें निम्नलिखित शामिल होने चाहिए

version: '3'
services:
  myapp:
    build: .  
    ports:
     - "3011:3011"
    links:
     - redis:redis
  redis:
    image: "redis:alpine"

फिर रेडिस को आपके नोड.जेएस ऐप से एक्सेस किया जा सकेगा, लेकिन इसके बजाय localhost:6379 आप उपयोग करेंगे redis:6379 रेडिस इंस्टेंस तक पहुँचने के लिए।

अपना ऐप शुरू करने के लिए आप docker-compose up run चलाएंगे , आपके टर्मिनल में। एक network . का उपयोग करना सबसे अच्छा अभ्यास होगा links . के बजाय लेकिन यह सादगी के लिए बनाया गया था।

यह वांछित के रूप में भी किया जा सकता है, एक ही छवि पर रेडिस और नोड.जेएस दोनों होने पर, निम्नलिखित डॉकरफाइल काम करना चाहिए, यह प्रश्न में क्या है पर आधारित है:

FROM node:carbon

RUN wget http://download.redis.io/redis-stable.tar.gz && \
    tar xvzf redis-stable.tar.gz && \
    cd redis-stable && \
    make && \
    mv src/redis-server /usr/bin/ && \
    cd .. && \
    rm -r redis-stable && \
    npm install -g concurrently   

EXPOSE 6379

WORKDIR /app

COPY package.json /app

RUN npm install

COPY . /app

EXPOSE 3011

EXPOSE 6379

CMD concurrently "/usr/bin/redis-server --bind '0.0.0.0'" "sleep 5s; node /app/src/server.js" 

यह दूसरी विधि वास्तव में खराब अभ्यास है और मैंने सरलता के लिए पर्यवेक्षक या समान उपकरण के बजाय समवर्ती रूप से उपयोग किया है। सीएमडी में नींद ऐप के वास्तव में लॉन्च होने से पहले रेडिस को शुरू करने की अनुमति देने के लिए है, आपको इसे सबसे अच्छा सूट करने के लिए समायोजित करना चाहिए। आशा है कि यह मदद करता है और आप पहली विधि का उपयोग करते हैं क्योंकि यह बहुत बेहतर अभ्यास है



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस प्रतिकृति और रेडिस शार्डिंग (क्लस्टर) अंतर

  2. एक्सएमएल में रेडिस के साथ काम करने के लिए स्प्रिंग सत्र को कैसे कॉन्फ़िगर करें?

  3. रेडिस डेटा स्ट्रक्चर का परिचय:सॉर्ट किए गए सेट

  4. 500MB Redis dump.rdb फ़ाइल में लगभग 5.0GB मेमोरी क्यों लगती है?

  5. नोड जेएस:रेडिस का काम पूरा होने के बाद अपना काम पूरा नहीं कर रहा है