Node Docker 运行,但看不到应用程序

2023-12-10

我的 Hapi 应用程序似乎正在 Docker 容器中运行,但我无法在浏览器中访问它。我以为docker run -d -p 8080:3000本来会这么做的,但我想不会。我正在运行 boot to docker,但两者都没有http://localhost:8080/hello nor http://192.168.99.100:8080/hello工作中。

我也尝试过很多变体。

这是我跑步时看到的docker inspect <container id>:

Server running at: http://localhost:8080

这是我的 Hapi.js 服务器:

'use strict';

const Hapi = require('hapi');

// Create a server with a host and port
const server = Hapi.server({
    host: 'localhost',
    port: 3000
});

// Add the route
server.route({
    method: 'GET',
    path:'/hello',
    handler: function (request, h) {
        return 'hello world';
    }
});

async function start() {

    try {
        await server.start();
    }
    catch (err) {
        console.log(err);
        process.exit(1);
    }

    console.log(`App running at: ${server.info.uri}/hello`);
}

start();

这是我的 Dockerfile:

FROM node:8.9.3

MAINTAINER My Name <[email protected]>

ENV NODE_ENV=production
ENV PORT=3000
ENV user node

WORKDIR /var/www
COPY package.json yarn.lock ./

RUN cd /var/www && yarn

COPY . .

EXPOSE $PORT

ENTRYPOINT ["yarn", "start"]

这是我的 package.json:

{
    "name": "my-app",
    "version": "1.0.0",
    "repository": "https://github.com/myname/myrepo.git",
    "author": "My Name",
    "license": "MIT",
    "private": true,
    "dependencies": {
        "hapi": "17.2.0"
    },
    "scripts": {
        "start": "node ./src/server"
    }
}

问题不在于 Docker,而在于如何配置节点服务器。

如果您绑定到localhost它只能从 docker 容器内使用。如果您想允许来自 docker 主机的连接,请不要提供主机名或使用0.0.0.0.

const server = Hapi.server({
    host: '0.0.0.0',
    port: 3000
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node Docker 运行,但看不到应用程序 的相关文章

  • 将 jQuery 集成到电子应用程序中

    我正在尝试将 jquery 功能添加到用 Electron 编写的桌面应用程序中 使用电子快速启动存储库 我将下载的 jquery 文件添加到main html像这样的文件 or so 然后在index js我正在文件中添加代码create
  • node.js 和 npm 在 Windows 7 64 位旗舰版中没有网络访问权限

    注意 对于遇到此问题的其他人 我尝试了所有建议和所有研究 最后我格式化了硬盘并重新安装了windows 尽管从一开始就是全新安装 但某些 Windows 安装似乎根本无法与 Node 一起使用 据我所知 这是唯一的解决方案 首先 我已经发现
  • 访问 Node.js 全局模块

    npm 文档是这样说的 如果您正在安装想要在程序中使用的东西 请使用 require whatever 然后将其安装在本地项目的根目录下 如果您要安装要在 shell 中使用的东西 请在命令行或 某些东西 全局安装它 以便它的二进制文件最终
  • 找到 Webpack 配置文件但未配置条目

    我正在尝试为我的个人项目组织一个 webpack 2 模板webpack dev server并使用 npm 命令运行它 但我收到此错误 Configuration file found but no entry configured 这很
  • 什么是 Node.js 模块?

    关于这个问题 Node js module exports 的用途是什么以及如何使用它 https stackoverflow com questions 5311334 what is the purpose of nodejs modu
  • Node + Express .post 路由抛出错误。预期回调,获得对象

    我目前正在开发一个使用 Express Node 的应用程序 我最近添加了一个新的 post路线到app js文件 使用以下语法 app post api posts saveComment posts saveComment posts上
  • 是否可以显示正在运行的 Docker 容器的重启策略?

    当我创建容器时 我指定了重新启动策略 但这没有显示在docker ps 并且似乎也没有任何格式字符串显示这一点 有谁知道如何查看正在运行的容器的重启策略 是的 可以使用docker inspect这是json格式 只需要查询即可 这是正在运
  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • 以html格式显示npm审计漏洞

    有没有办法将 npm 审计报告显示为 html 页面 目前我只能看到使用以下命令以 json 格式输出报告的选项 npm audit json 我写了一个NPM包 https www npmjs com package npm audit
  • Typescript 和 Mongoose - “this”在实例方法中不可用

    我目前正在将我的 API 从 JS 转换为 TS 然而 我在猫鼬和打字稿方面遇到了一些困难 具体来说 this在我的实例方法中不可用 My code AccountSchema methods comparePassword async f
  • 如何检查docker中当前/默认的日志驱动程序?

    我正在尝试检查已停止的 docker 容器的日志 但是当我这样做时docker logs
  • 如何在控制台上打印来自post请求的数据

    我正在尝试在控制台上打印发布数据 app js var express require express http require http var app express app set port process env PORT 7002
  • 未加载测试环境的节点 dotenv 文件

    我有两个 dotenv 文件 一个用于开发 另一个用于测试 const dotenv require dotenv if process env process env NODE ENV dotenv config path env pro
  • 如何使用 Stripe 在一次操作中创建客户和卡片?

    我正在尝试第一次初始化客户 我有一个表格 他们可以在那里注册和填写所有内容 然后他们提交 在客户端上 会发生以下情况 var cardValues AutoForm getFormValues credit card form insert
  • 向 docker 镜像添加新的入口点

    最近 我们决定将我们的一项服务迁移到 docker 容器 该服务是另一家公司的产品 他们为我们提供了 docker 镜像 但是 我们需要在容器入口点中执行一些额外的配置步骤 我尝试的第一件事是从基础映像创建一个 DockerFile 然后添
  • NodeJs 控制台中的 GET /bla - - ms - - 是什么意思?

    当我进入页面时 bla在我的 NodeJS 应用程序中 控制台打印出 GET bla ms 用文字来说 为了更容易谷歌搜索 dash dash ms dash dash 这是什么意思 这是输出morgan https github com
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • 有人在node/socket.io 中成功实现了动态命名空间吗?

    含义 用户对应用程序进行身份验证 gt 应用程序设置socket io连接的命名空间 http www socketioserver com NAMESPACE 并且节点服务器相应地响应无需针对特定名称空间进行硬编码 到那个特定的命名空间
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp

随机推荐

  • 创建自定义 Powershell 对象的多个实例

    我正在 Powershell 脚本中创建一个新对象 或者实际上是一个对象类型 我想创建该对象的多个实例 我该怎么做呢 下面的代码是我正在处理的代码 看起来数组中的所有实例都引用相同的对象 包含相同的值 Define output objec
  • DART:有人可以向我解释一下这句话吗?

    我正在学习 Dart 和 Flutter 但我正在努力解决一些基本的编程问题 例如 getter 的使用 GoogleSignInAccount get user gt user 与 get 方法等效的是什么 什么是 变量末尾的意思是什么
  • 在 Sublime Text 2 中使用默认的 ruby​​ 版本

    我的默认当前 ruby 版本是 1 9 3 它实际上是我运行时出现的唯一版本rvm list所以我不明白我怎么能把那部分搞乱 我确实关注了this我在这里找到的教程 但它似乎破坏了一切 对于我看到的修复程序的所有变体 甚至在评论中 我不断收
  • 通过 AWS Data Pipelines 运行 python 脚本

    我使用 AWS Data Pipelines 运行夜间 SQL 查询 以填充表以获取摘要统计信息 用户界面有点时髦 但最终我安装并运行了 现在我想用 python 脚本做类似的事情 我有一个每天早上在笔记本电脑上运行的文件 forecast
  • 是否可以在不使用 lambda 的情况下将标准函数模板之一作为参数传递?

    例如 std get
  • PDO-MySQL:在准备好的语句绑定上布尔值被转换为 1 或空字符串

    我正在尝试将一些布尔值插入到 JSON 类型列中 taskSql INSERT INTO Tasks data taskListId VALUES JSON OBJECT title title done done taskListId t
  • UICollectionView 单元格与图像,单击更改背景

    我有一个UICollectionView with Custom CollectionView Cells 每个Cell上都有一个Image 它和整个Cell一样大 现在我想在用户触摸单元格时突出显示该单元格 首先我尝试了以下方法deleg
  • Apps 脚本与 Chrome 扩展:编写 Google 文档的替代拼写检查器

    Say 我想开发一个替代谷歌文档的拼写检查模块 这意味着我必须从后端获取更正 并对拼写错误的文本的背景进行着色 并在用户将鼠标悬停在其上方时弹出一个小气泡 在其中显示更正 请注意 拼写检查不是我项目的实际目标 但它确实以更简化的方式解决了我
  • 计算 Pandas 中字符串列中的单词数

    我有一个 pandas 数据框 其中包含给定时间段的查询和计数 我希望将此数据框转换为唯一单词的计数 例如 如果数据框包含以下内容 query count foo bar 10 super 8 foo 4 super foo bar 2 我
  • 外部表的格式不符合预期。

    我正在创建一个小应用程序来将 Excel 数据导入我的数据库 当我单击按钮时 它崩溃并出现错误 外部表的格式不符合预期 我尝试在谷歌上搜索并更改代码 但问题仍然出现 我尝试将文件另存为 xls 当我运行代码时 页面与 google chro
  • 具有自定义哈希行为的 python 对象集

    我想使用一个集合来管理 myItem 实例的集合 myItem 类有自己的哈希函数 这些项目的哈希值基于每个项目中的部分数据 但不是全部数据 为简单起见 在下面的示例中 数据 是字典 r 哈希考虑了 2 个键 hk1 和 hk2 还有第三个
  • AutoValue 示例:错误:找不到符号类 AutoValue_Animal

    我正在尝试了解 AutoValue 我按照中的例子https github com google auto blob master value userguide index md 我使用的是 Android Studio 3 4 我添加我
  • RxJava 调度程序的用例

    在RxJava中有5种不同的调度程序从中选择 即时 创建并返回一个立即在当前线程上执行工作的调度程序 蹦床 创建并返回一个调度程序 该调度程序将当前线程上的工作排队 以便在当前工作完成后执行 新线程 创建并返回一个为每个工作单元创建一个新线
  • Flask 会话过期时调用函数

    在我的 Flask 应用程序中 我正在保存与用户相对应的文件 并希望在用户的 会话 过期时删除这些文件 是否可以检测会话过期并立即调用函数 遇到了同样的问题 并没有通过使用内置的永久会话过期功能来解决它 而是将我自己的密钥添加到会话中并在每
  • 一旦开始,如何停止intent.ACTION_CALL?

    我在用Intent intent new Intent Intent ACTION CALL 从我的应用程序拨打电话 有什么办法可以在一段时间后终止通话吗 或者在ACTION CALL开始之前设置一个计时器 我正在使用 Prasanta 博
  • Emacs 击键表示混乱

    我通常在 emacs 中使用定义新的键绑定 C x gt command kmacro start macro C x gt kmacro end macro name last kbd macro insert kbd macro But
  • 在 C# 中合并两个对象

    我有一个对象模型MyObject具有各种属性 在某一时刻 我有两个这样的实例MyObject 实例 A 和实例 B 如果实例 B 具有非空值 我想复制实例 A 中的属性并将其替换为实例 B 的属性 如果我只有 1 个具有 3 个属性的类 没
  • android.R.id.empty 在 Xoom/Honeycomb 中损坏?

    我一直在尝试制作没有切换点的单选按钮 我通过这样做取得了成功 myRadioButton setButtonDrawable android R id empty 这在 Honeycomb 3 0 x 之前的所有设备中都可以正常工作 当我尝
  • 如何访问 Swift 中闭包内的变量?

    我是 Swift 新手 我正在尝试从这个函数中获取结果 我不知道如何访问从闭包外部传递给 sendAsynchronousRequest 函数的闭包内部的变量 我已经阅读了 Apple Swift 指南中有关闭包的章节 但没有找到答案 并且
  • Node Docker 运行,但看不到应用程序

    我的 Hapi 应用程序似乎正在 Docker 容器中运行 但我无法在浏览器中访问它 我以为docker run d p 8080 3000本来会这么做的 但我想不会 我正在运行 boot to docker 但两者都没有http loca