Tag: node.js

Openwhisk和Node-red问题

我正在尝试使用node-red和openwhisk,所以我可以从node-red调用openwhisk动作。 我正在使用node-red-node-openwhisk( https://www.npmjs.com/package/node-red-node-openwhisk )。 我在本地使用stream浪汉以外的openmisk。 我正在尝试按照本教程进行这项工作: https : //github.com/kpavel/openwhisk-light,但似乎不可能,因为我没事,直到这个命令 wsk action –apihost http://localhost:3000 invoke owl-test -r -p mykey myval 我得到这个: { "error": { "code": 4767018, "error": "The supplied authentication is invalid" }, "message": "GET https://openwhisk.ng.bluemix.net/api/v1/namespaces/_/actions/owl-test Returned HTTP 401 (Unauthorized) –> \"The supplied authentication is invalid\"", "name": "OpenWhiskError", "statusCode": 401 } 此外,我不能设置openwhisk节点工作在我的节点红色的环境,因为无论我使用的apihost我得到的错误。 有什么build议么?

在没有运行容器服务的情况下,在Docker容器中同步本地代码

我创build了一个具有可执行节点js应用程序的docker镜像。 我有多个独立于自己的模块。 这些模块使用npm link命令作为npm link内部的包创build,因此可以在我的节点js索引文件中使用。 目录结构是 |-node_modules |-src |-app |-index.js |-independent_modules |-some_independent_task |-some_other_independent_task 在构build映像时,我已经为根node_modules中的每个独立模块创build了npm link 。 这将在每个独立的模块内创build一个node_modules文件夹,而不存在于本地。 这只在容器内部创build。 我需要这些模块在src/app/index.js并继续我的任务。 这个docker镜像不使用服务器来保持容器运行,因此容器在过程结束时停止。 我使用build立图像 docker build -t demoapp 要在开发环境中运行index.js,我需要将本地src目录挂载到docker src目录,以反映更改而不重build映像。 安装和运行我使用命令 docker run -v $(pwd)/src:/src demoapp node src/index.js 这里的问题是,在本地,没有安装依赖关系,即没有node_modules文件夹存在。 因此,在将本地目录安装到docker中时,将其replace为空的,因此在node_modules安装的依赖关系在node_modules消失了。 我试图使用.dockerignore不装载node_modules文件夹,但它没有工作。 而且,在本地保留空的node_modules也是行不通的。 我也尝试使用docker-compose来保持卷同步,并node_modules隐藏了node_modules ,但是我认为这只在node_modules与任何服务器运行时同步,即docker容器保持运行。 这是我用的docker-compose.yml # docker-compose.yml version: "2" services: demoapp_container: build: . image: demoapp volumes: – "./src:/src" […]

将NodeJS MongoClient连接到使用Docker的localhost mongodb

macOS Sierra MongoDB Enterprise> db.version()=> 3.4.7 Node.js 8.9.0 Docker Image Inspect => gist 我有这个代码在Node中运行,然后在一个Docker容器中运行,现在不在Docker容器中运行,下面的容器错误输出。 错误引用了昨天和今天之间触发的拓扑问题。 我不知道那是什么意思。 我能想到的唯一的事情是将nvm从8.2.1切换到8.9.0。 转回没有帮助。 添加重新连接参数也没有帮助。 任何想法将不胜感激。 更新:如果我将uri更改为azure cosmosdb实例,则会运行相同的代码。 所以它只是连接到不想连接的本地mongodb的连接string。 再次,跑了昨天,只是更新。 不知道这里发生了什么…. Hi mongodb://localhost:27017/visafrenchtech MongoDB connecting to mongodb://localhost:27017/visafrenchtech MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017] at Pool.<anonymous> (/app/node_modules/mongodb-core/lib/topologies/server.js:336:35) at emitOne (events.js:116:13) at Pool.emit (events.js:211:7) at […]

在MacOS上获取Dockerode库的问题(Node.js)

我和我的朋友试图让这个库在macOS上崩溃,并且遇到了麻烦: https : //github.com/christophetd/docker-python-sandbox/ 。 该库使用dockerode来启动多个docker镜像,然后在沙箱环境中执行python代码。 我们已经确认可以在Docker中创build一张图片并成功调用它,但是我们发现,如果我们尝试使用库来调用多个图片,它会超时(具体来说,这似乎是一个在mac上的问题 – 我们发现,如果我们在linux docker环境中启动整个容器,它就可以工作!)。 我们非常困惑,但是认为问题来自传递到Dockerode的选项,特别是在Sandbox和PoolManager文件(在lib目录中)中指定的选项。 有什么想法是什么问题? 以下是我所指的选项: this.options.containerLaunchOptions = { "Image": this.options.imageName, "NetworkDisabled": false, "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "OpenStdin": false, "Privileged": false, "User": "sandboxuser", "Tty": false, "HostConfig": { "Memory": this.options.memoryLimitMb * 1000000, "MemorySwap": -1, "Privileged": false, "CpusetCpus": "0" // only use one core }, "Labels": { "__docker_sandbox": […]

具有不同容器和端口的相同Docker镜像不可访问

我在我的Windows开发机器上运行Docker主机,并有2个辨别图像暴露不同的端口(3000,3001)。 使用以下docker-compose构build并运行容器,但端口3001上的容器不能通过本地主机或我的IP地址使用。 DockerFile FROM mhart/alpine-node:8 # Create an app directory (in the Docker container) RUN mkdir -p /testdirectory WORKDIR /testdirectory COPY package.json /testdirectory RUN npm install –loglevel=warn COPY . /testdirectory EXPOSE 3000 CMD ["node", "index.js"] DockerFile FROM mhart/alpine-node:8 # Create an app directory (in the Docker container) RUN mkdir -p /test2directory WORKDIR /test2directory COPY package.json […]

套接字事件不在docker器容器,docker组成的浏览器中触发

没有dockerizing应用程序,一切工作正常。 将应用程序迁移到Docker时,我无法在浏览器中接收套接字事件。 我能够从浏览器和控制台接收服务器中的套接字事件。 泊坞窗,compose.yml database: image: mongo:latest container_name: minipool_database ports: – "27017:27017" seed: build: seed container_name: mp_seed links: – database application: (Node v.7.9.0 / socket-io: 1.4.8 / Angular 1.4.9 / angular-socket-io: 0.7.0) build: application container_name: mp_application links: – database ports: – "8080:8080" Express服务器 'use strict'; process.env.NODE_ENV = process.env.NODE_ENV || 'development'; var connection = ''; if(process.env.NODE_ENV […]

当多个连接打开时,Ping超时

我的设置如下: node.js中的一个socket.io服务器可以通过express来使用 一个运行socket.io客户端的java程序 我正在创build5个套接字,然后为我的一个客户端获取ping timeout 。 断开连接后,重新连接并再次出现错误。 我已经尝试启动5次的Java程序指定1套接字的实例,它运作良好。 我在Localhost工作。 5 connection per java with 1 java -> FAIL 1 connection per java with 5 java -> GOOD 所以我认为有一个问题也许与socket.io-java-client但无法find任何有关它。 我已经尝试了关于pingInterval / pingTimeout的不同服务器configuration。 pingTimeout为10000 , pingInterval为5000 ,每隔30秒断开一次。 pingTimeout为30000 , pingInterval为5000 ,我每分钟都断开连接。 我的node.jsconfiguration: // Socket.io options const opts = { // Interval between two ping in ms pingInterval: […]

在dockerfile中运行npm install后,node_modules不可用

我尝试为我的节点应用程序创build一个dockerfile。 但运行npm后,我看到 在7.966s添加了160个包 但我没有看到该文件夹​​中的node_modules,当我启动应用程序,我看到node_moduls丢失=>docker不工作 这是我的dockerfile FROM keymetrics/pm2:latest # create app directory in container #RUN mkdir -p /app # set /app directory as default working directory WORKDIR /app # only copy package.json initially so that `RUN npm start` layer is recreated only # if there are changes in package.json ADD dist/package.json /app/ ENV MONGO_HOST=mongodb://localhost/chronas-api ENV MONGO_PORT=27017 […]

Docker容器中的Gmail OAuth

我有不同的后端服务在容器中运行。 我正在写一个微服务来处理电子邮件的发送。 我的企业电子邮件提供商是GSuite(Gmail)。 我一直在阅读以下教程 这一切似乎都很好,但它需要人为干预才能授权应用程序发送电子邮件。 我需要这是完全自治的,每当容器启动时,它都会请求访问令牌并授权。 这可能吗? 我似乎无法find任何文献来帮助

在Heroku上部署FeathersJS应用程序

我试图在heroku上部署我的feathersjs web应用程序,因为羽毛只是一个明确的包装,我认为这就像部署一个普通的节点应用程序。 我在我的package.json上获得了“npm start”脚本,我将heroku添加到了我的git仓库中,当我推送heroku时,运行“yarn install”和“npm start”脚本。 但是当应用程序启动时,会发生一个错误: heroku日志 我无法弄清楚会发生什么,有什么build议吗? 也许我可以dockerize我的应用程序,有人可以帮我find正确的实施? 谢谢大家