gpt4 book ai didi

node.js - Console.log 在 dockerized Node.js/Express 应用程序中不工作

转载 作者:搜寻专家 更新时间:2023-10-31 23:40:15 25 4
gpt4 key购买 nike

我已经使用以下 Dockerfile 在 docker 容器中构建了一个 Node.js 应用程序:

FROM node:carbon

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080
CMD [ "npm", "start" ]

我正在尝试在快速 route 进行 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 选项在后台运行容器,因此您将无法在控制台中看到它的输出。

如果你想让容器在后台运行并且你想访问容器的 shell,你可以在容器启动并运行后运行以下命令:

docker exec -it <container-name> bash

关于node.js - Console.log 在 dockerized Node.js/Express 应用程序中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48470037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com