[英]Docker Express Node.js app container not connecting with MongoDB container giving error TransientTransactionError
[英]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.