【发布时间】:2017-05-16 14:46:03
【问题描述】:
我正在尝试允许我的 nodeJs docker 映像与我的 redis docker 映像(Mac OS X 环境)之间进行通信:
nodeJs Dockerfile:
FROM node:4.7.0-slim
EXPOSE 8100
COPY . /nodeExpressDB
CMD ["node", "nodeExpressDB/bin/www"]
redis Dockerfile:
FROM ubuntu:14.04.3
EXPOSE 6379
RUN apt-get update && apt-get install -y redis-server
nodeJs 尝试连接 redis 的代码是:
var redis = require('redis');
var client = redis.createClient();
docker 构建步骤:
docker build -t redis-docker .
docker build -t node-docker .
docker run images 步骤流程:
docker run -p 6379:6379 redis-docker
docker run -p 8100:8100 node-docker
错误:
Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379
at Object.exports._errnoException (util.js:907:11)
at exports._exceptionWithHostPort (util.js:930:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1078:14)
我应该怎么做才能从 node-docker 连接到 Redis?
【问题讨论】:
-
使用 --name redis 运行 redis 并连接到 redis:6379
-
谢谢,我试过了:"docker run --name redis-docker -d redis-docker" 但得到了同样的错误
-
你能从
redis-cli连接redis吗? -
是的,通过 redis-cli 可以正常工作
标签: node.js macos docker redis docker-image