रेडिस एक अलग कंटेनर में चलता है जिसमें आपके नोड एप्लिकेशन चल रहे कंटेनर के लिए अलग वर्चुअल ईथरनेट एडेप्टर और आईपी पता होता है। आपको दो कंटेनरों को लिंक करने या उनके लिए एक उपयोगकर्ता परिभाषित नेटवर्क बनाने की आवश्यकता होती है
docker network create redis
docker run -d --net "redis" --name redis redis
docker run -d -p 8100:8100 --net "redis" --name node redis-node
फिर होस्ट निर्दिष्ट करें redis
नोड में कनेक्ट होने पर रेडिस क्लाइंट redis
. से कनेक्ट करने का प्रयास करता है localhost
. के डिफ़ॉल्ट के बजाय कंटेनर
const redis = require('redis')
const client = redis.createClient(6379, 'redis')
client.on('connect', () => console.log('Connected to Redis') )
डॉकर कंपोज़ मल्टी कंटेनर सेटअप की परिभाषा में मदद कर सकता है।
version: '2'
services:
node:
build: .
ports:
- "8100:8100"
networks:
- redis
redis:
image: redis
networks:
- redis
networks:
redis:
driver: bridge