gpt4 book ai didi

node.js - 无法与简单的 Docker Node.js 网络应用程序通信

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

<分区>

我只是想同时学习 Node.js 和 Docker。我有一个非常简单的 Node.js 应用程序,它监听一个端口并返回一个字符串。 Node 应用程序本身在本地运行时运行良好。我现在正试图让它在 Docker 容器中运行,但我似乎无法实现。

这是我的 Node 应用程序:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

var count = 0;

var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end("Here's the current value: " + count);
console.log('Got a request: ', req.url);
count++;
});

server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

我的 Dockerfile:

FROM node:latest

MAINTAINER Jason

ENV PORT=3000

COPY . /var/www
WORKDIR /var/www

EXPOSE $PORT

ENTRYPOINT ["node", "app.js"]

我的构建命令:

docker build -t jason/node .

还有我的运行命令:

docker run -p 3000:3000 jason/node

app.js 文件和 Dockerfile 位于我运行命令的同一目录中。执行 docker ps 显示应用程序正在运行,但在浏览器中导航到 127.0.0.1:3000 时,我只是收到无法访问站点的错误。我还确认 app.js 已正确添加到图像中,运行后我收到消息“服务器运行在 http://127.0.0.1:3000/”。

我想我错过了一些非常简单的东西,有什么想法吗?

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