簡體   English   中英

鏈接Docker容器:Node.js + MongoDB

[英]Linking Docker container : Node.js + MongoDB

我在將開發環境中的2個容器與Docker鏈接時遇到問題。

我已經有mongo容器正在運行調用數據庫。

這是我的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“節點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)。

是的,薩布米特,你是對的!

我只需要將這行代碼更改為我的配置文件:

db:'mongodb:// localhost / test'

通過,

db:“ mongodb:// db_1:27017 / test”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM