[英]Console.log not working in a dockerized Node.js / Express app
我使用以下 Dockerfile 在 docker 容器中構建了一個 Node.js 應用程序:
FROM node:carbon
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
我正在嘗試在快速路由中使用 console.log,但是在docker run -p 49160:8080 -d
,控制台不是交互式的,並且根本沒有回顯日志。
'use strict';
// Requires
const express = require('express');
// Constants
const PORT = 8080;
const HOST = '0.0.0.0';
// App
const app = express();
// Routes
app.get('/', (req, res) => {
// This isn't being printed anywhere
console.log(req);
});
// Start
app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);
我做錯了什么?
從用於運行容器的命令中刪除-d
:
docker run -p 49160:8080
-d
選項在后台運行容器,因此您將無法在控制台中看到其輸出。
如果您想讓容器在后台運行並希望訪問該容器的外殼,則可以在容器啟動並運行后運行以下命令:
docker exec -it <container-name> bash
添加此評論是因為我正在搜索相同的內容,這是 Google 上的第一個結果。
docker logs <container-name>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.