エクスプレスサーバとmongo dbとredis dbへのリンクを構築しました。
私はdocker run
サーバ/ mongo/redisを別々に使用しており、サーバは正常に動作します。私はdocker-compose
使用時
しかし、それはエラーnodejsサーバはRedisとMongoDBを同じDocker-Compose ymlファイルにリンクできません
redisdb error: { Error: Redis connection to localhost:6379 failed - connect ECONNREFUSED 127.0.0.1:6379 ....
MongoError: failed to connect to server [localhost:27017] on first connect ....
私がチェックするためにdocker ps
を使用して、すべての3個のコンテナが実行されていることを示しています。ここで
私のドッキングウィンドウ-compose.yml
version: "2"
services:
mongo:
image: mongo:latest
ports:
- "27017:27017"
redis:
image: redis:latest
ports:
- "6379:6379"
web:
build: .
links:
- mongo
- redis
depends_on:
- mongo
- redis
ports:
- "3000:3000"
ここでは、私は私もdocker-compose stop && docker-compose rm && docker-compose up
を試してみたが、まだ失敗しているDB接続
client = redis.createClient({ "host": process.env.REDIS_PORT_6379_TCP_ADDR || 'localhost', "port": "6379" });
mongoose.connect(`mongodb://${process.env.MONGO_PORT_27017_TCP_ADDR || 'mongodb://localhost:27017/chichat'}`);
を設定する方法です。