对接 Hapi JS 时无法访问 Web 服务器
Unable to access the web server when dockerising the Hapi JS
我正在构建一个 Web 应用程序 Node JS Web 框架,Hapi JS,https://hapi.dev/。我正在尝试 docker 化我的应用程序。但它不起作用。
我首先为项目设置 npm 运行宁以下命令。
npm init
然后我安装了hapi js 运行宁以下命令。
@hapi/hapi
然后我用下面的代码创建了 server.js 文件。
'use strict';
const Hapi = require('@hapi/hapi');
const init = async () => {
const server = Hapi.server({
port: 4000,
host: 'localhost'
});
server.route({
method: 'GET',
path: '/',
handler: (request, h) => {
return 'Hello World!';
}
});
await server.start();
console.log('Server running on %s', server.info.uri);
};
process.on('unhandledRejection', (err) => {
console.log(err);
process.exit(1);
});
init();
当我在终端中 运行 node server.js
并转到浏览器中的 localhost:4000 时,我可以看到 Hello World!
消息。
然后我开始docker开发应用程序。为此,我创建了包含以下内容的 Dockerfile。
FROM node:14-alpine
RUN apk update && apk upgrade
RUN apk add nodejs
RUN rm -rf /var/cache/apk/*
COPY . /
RUN cd /; npm install
EXPOSE 4000
CMD ["node", "/server.js"]
然后我用以下内容创建了 docker-compose.yaml 文件。
version: '3.8'
services:
server:
container_name: hapi-web-server
build: .
ports:
- 4000:4000
然后我在终端中 运行 docker-compose up -d
,当我在浏览器中转到 localhost:4000 时,我看到以下错误。
我的代码有什么问题,我该如何解决?
更改主机值host: '0.0.0.0'
我正在构建一个 Web 应用程序 Node JS Web 框架,Hapi JS,https://hapi.dev/。我正在尝试 docker 化我的应用程序。但它不起作用。
我首先为项目设置 npm 运行宁以下命令。
npm init
然后我安装了hapi js 运行宁以下命令。
@hapi/hapi
然后我用下面的代码创建了 server.js 文件。
'use strict';
const Hapi = require('@hapi/hapi');
const init = async () => {
const server = Hapi.server({
port: 4000,
host: 'localhost'
});
server.route({
method: 'GET',
path: '/',
handler: (request, h) => {
return 'Hello World!';
}
});
await server.start();
console.log('Server running on %s', server.info.uri);
};
process.on('unhandledRejection', (err) => {
console.log(err);
process.exit(1);
});
init();
当我在终端中 运行 node server.js
并转到浏览器中的 localhost:4000 时,我可以看到 Hello World!
消息。
然后我开始docker开发应用程序。为此,我创建了包含以下内容的 Dockerfile。
FROM node:14-alpine
RUN apk update && apk upgrade
RUN apk add nodejs
RUN rm -rf /var/cache/apk/*
COPY . /
RUN cd /; npm install
EXPOSE 4000
CMD ["node", "/server.js"]
然后我用以下内容创建了 docker-compose.yaml 文件。
version: '3.8'
services:
server:
container_name: hapi-web-server
build: .
ports:
- 4000:4000
然后我在终端中 运行 docker-compose up -d
,当我在浏览器中转到 localhost:4000 时,我看到以下错误。
我的代码有什么问题,我该如何解决?
更改主机值host: '0.0.0.0'