我在将开发环境中的2个容器与Docker链接时遇到问题。
我已经有我的mongo容器正在运行调用db。
这是我的Node应用程序的Dockerfile:
FROM nodesource/node:4.0
ADD package.json package.json
RUN npm install
ADD . .
ENV NODE_ENV development
CMD ["node","server.js"]
构建图像后,我使用以下命令在链接容器内运行该图像:
docker run --name myapp --link db:db_1 -p 80:3000 -d myapp
这是我的两个容器:
容器ID图像命令
创建的状态端口
名称216304df0905 myapp“ node server.js”
25分钟前退出(1)13分钟前
myapp 506f9fcfd30b mongo“ /entrypoint.sh mongo”
19小时前向上19小时27017 / tcp db
myapp日志:
发展
服务器运行在http:// localhost:3000
/usr/src/app/node_modules/mongoose/node_modules/mongodb/lib/server.js:242 process.nextTick(function(){throw err;})^错误:在Object.exports中连接ECONNREFUSED 127.0.0.1:27017。导出时为_errnoException(util.js:837:11).TCPConnectWrap.afterConnect处为_exceptionWithHostPort(util.js:860:20)[完成时](net.js:1060:14)
我的应用程序和mongo之间的连接似乎无法正常工作。
有人可以帮我解决这个问题吗?
默认情况下,猫鼬会尝试连接到本地mongodb。为了能够使用mongodb容器,在建立连接时应使用其主机名(db_1)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句