[英]Docker node.js app not listening on port
我正在使用node.js Web應用程序並使用localhost:8080
通過發送Postman的請求來測試它。 每當我在不使用Docker的情況下運行應用程序(npm start)時,應用程序工作正常並偵聽端口8080
。
當我使用Docker運行應用程序時,應用程序似乎正在正常運行(它顯示它正在運行並在端口8080
上偵聽),但是使用Postman無法訪問(我收到錯誤: Could not get any response
)。 你知道這個的原因是什么嗎?
Dockerfile:
FROM node:8
WORKDIR /opt/service
COPY package.json .
COPY package-lock.json .
RUN npm i
COPY . .
EXPOSE 8080
CMD ["npm", "start"]
我使用以下命令在Docker中構建並運行應用程序:
docker build -t my-app .
docker run my-app
我已嘗試綁定端口,如下所述,但我也無法通過端口8181
到達服務器。
docker run -p 8181:8080 my-app
在我的應用程序中,服務器以下列方式進行偵聽(使用Express
):
app.listen(8080, () => {
console.log('listening on port 8080');
})
我也試過用:
app.listen(8080, '0.0.0.0', () => {
console.log('listening on port 8080');
})
docker port命令返回:
8080/tcp -> 0.0.0.0:8181
你們有沒有想到這可能是什么原因?
更新 :使用從docker-machine( 192.168.99.100:8181
)獲得的IP,我能夠訪問該應用程序。 但是,我希望能夠從localhost:8181
到達它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.