Tag: 表示

Express不在docker上运行,而是在localhost上运行

我正在努力将我的后端部署到泊坞窗容器。 我发现,我的问题是expression框架。 首先,我必须说,一切工作在我的本地主机罚款。 但是当我将我的应用程序部署到服务器时,我得到了503错误(服务不可用)。 如果我不通过快递初始化我的应用程序,那么所有的东西都在docker集装箱内工作。 那么可能是什么问题呢? 这是我的docker代码: FROM node:alpine RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install COPY . /usr/src/app EXPOSE 9080 CMD [ "npm", "start" ] 这是我的节点代码: var express = require('express'); var app = express(); app.listen(process.env.PORT || 9080); app.get('/test', function(req, res){ res.send("hi"); }); 这里是我的package.json: { "name": "server", "version": "1.0.0", "description": […]

Dockerizing Nodejs APP(平滑重启,ssl)

我正在试图dockerize一个NodeJS应用程序。 我已经按照这个教程https://nodejs.org/en/docs/guides/nodejs-docker-webapp/ 这很容易,工作。 但是我需要扩展一些function。 我的基础设施将不包含只有nodejs容器,它将有更多的容器,通过docker docker-compose文件的帮助链接在一起。 我需要的 我将为我的应用程序使用https 。 所以我需要在将要挂载到主机的文件夹中提供我的SSL证书。 但我想我需要重新启动一个快速的应用程序才能应用更改。 我该如何处理这个用例呢? 如果我有其他容器运行。 我需要能够重新启动nodejs应用程序,而无需重新启动一个容器。 你能否build议正确的策略,以便顺利实施?

启动我的电脑后出现“ECONNREFUSED”错误。 我正在使用一个快速服务器,我试图看到我可以提出请求

我正在做一个项目,我已经播种了一些数据。 但是,当我尝试对我的本地主机做任何请求时,我得到这个错误: // 20170624132844 // http://localhost:4310/campuses { "code": "ECONNREFUSED", "errno": "ECONNREFUSED", "syscall": "connect", "address": "127.0.0.1", "port": 5432 } 我的要求是在我重新启动我的电脑之前,不知道这里发生了什么。 有人可以请解释什么错误意味着如何处理它。 我在这里包括我的app.js代码以防万一。 'use strict'; if(process.env.NODE_ENV !== 'production'){ require('dotenv').config(); } //use npm install cors – this stands for Cross- origin resouce sharing const express = require('express'); const app = express(), bunyanLogger = require('express-bunyan-logger'); const PORT = process.env.PORT; […]

Docker-Compose在主机Nodejs + Express上发布端口

我已经build立了一个docker-compose文件,并且想从我的主机上访问localhost:3000上的nodejs应用程序,但是发布这个端口似乎没有工作。 当我运行组合一切似乎工作正常,我得到确认Listening on port 3000 。 但是,当我从浏览器以及curl去到localhost:3000 ,我得到一个未find或超时响应。 我在这里错过了什么? 我的NodeJS服务器: var server = app.listen( process.env.PORT || 3000, function(){ console.log('Listening on port ' + server.address().port); }); 我的Docker-Compose.yml文件: version: "3" services: api: image: baum-test:v0 ports: – "3000:3000" networks: – webnet mongodb: image: mongo:latest ports: – "27017:27017" volumes: – ./data:/data deploy: placement: constraints: [node.role == manager] networks: – […]

Dockerangular度实例无法从Docker express实例获取数据

通过Docker撰写我build立了一组图像。 其中,有一个node.js / express服务器和一个angularjs 2.0前端。 这是docker-compose文件: version: "3.3" services: angular: image: micheleminno/angular-client:latest build: ./angular-client ports: – "4200:4200" express: image: micheleminno/express-server:latest build: ./express-server depends_on: – mysql – elasticsearch ports: – "3000:3000" networks: – sql – nosql elasticsearch: build: elasticsearch/ ports: – "9200:9200" – "9300:9300" networks: – nosql environment: – MAX_OPEN_FILES=1048576 cap_add: – IPC_LOCK ulimits: memlock: soft: […]

解决:在dockerized节点应用程序中产生一个复杂的进程(sipp)

我正在运行一个dockerized节点的应用程序。 它有多个subprocess,工作正常,一个进程意外返回“1”! 这里是从我的server.js线: var child = child_process.spawnSync("./sipp", ["-sf","./call_helloworld.xml", "127.0.0.1:5070","-p","1236","-m","1","-trace_screen"], {cwd:"/root/UT"}); logger.info(child.status); 当我进入容器,并从当前工作目录下面的bash运行完全相同的行,它工作正常(返回0) node >require('child_process').spawnSync("./sipp", ["-sf","./call_helloworld.xml", "127.0.0.1:5070","-p","1236","-m","1","-trace_screen"], {cwd:"/root/UT"}); 我很确定sipp调用甚至不是以第一个命令开始的。 docker文件的最后一行是 WORKDIR /root/config #this is the location of my server app ENTRYPOINT ["node", "server.js"] 我知道这个问题是有点特定的,但任何在debuggingspawnSync的一般帮助表示赞赏。 ====================================== 更新:进一步debugging后,我发现spawnSync返回“错误打开terminal:未知”。 解决方法是添加环境variables“export TERM = xterm”。 https://nology.de/docker-error-opening-terminal-unknown.html

mime.lookup不是docker中运行expressjs的函数

我有一个运行节点进程的docker镜像。 它正在听一个特定的端口。 当我试图使用curl或通过浏览器请求访问端口,我得到以下错误 – TypeError:mime.lookup不是ServerResponse.contentType(/E:/Saurabh/node_modules/express/lib/response.js:592:12)在ServerResponse.send(/ E:/ Saurabh / node_modules / express / lib /response.js:145:14)在app.get(/E:/Saurabh/apis/index.js:26:6)在Layer.handle [作为handle_request](/ E:/ Saurabh / node_modules / express / lib (/E:/Saurabh/node_modules/express/lib/router/route.js:137:13)在Route.dispatch(/ E:/ Saurabh / node_modules / express)/route/layer.js:95:5) /lib/router/route.js:112:3)在/ E:/ Saurabh上的Layer.handle [作为handle_request](/E:/Saurabh/node_modules/express/lib/router/layer.js:95:5) /node_modules/express/lib/router/index.js:281:22 at Function.process_params(/E:/Saurabh/node_modules/express/lib/router/index.js:335:12)at next(/ E:/ SAURABH / node_modules /快递/ lib目录/路由器/ index.js:275:10) 如果我没有docker运行相同的代码,那么它按预期工作。 可能是什么问题?

nodejs express在作为docker守护程序运行时不会使用ect模板引擎来呈现html页面

我试图运行一个节点js应用程序,在ECT模板引擎上渲染HTML页面的Docker,情况是,它工作得很好,一旦与下面的命令运行的容器直接交互,并在其中运行节点。 docker run -p 80:5000 -it abdullahshahin/admin-panel bash 但是当我把它作为一个守护进程来运行的时候,express表示下面的错误 错误:无法在视图目录“/ views”中查找视图“索引” 以下是ect的声明 var ectRenderer = ECT({ watch: true, root:'/var/njs/html/views', ext : '.ect' }); 另外,我试过这个 root: __dirname + '/views' and this root:'./views' ,没有什么帮助。 下面是主要的应用程序文件代码,我正在使用这个MVC // DECLARE VARIABLES var express = require('express'); var instance = express(); var parser = require('body-parser'); instance.use(parser({strict:false})); var commander = require('commander'); var ECT […]

Docker:一个容器可以执行docker ps或者docker的图片吗?

我想实现一个web服务来控制我的“dockerVPS”。 所以我想到了一个nodejs + express脚本,只需执行docker docker images或者docker ps命令来响应web调用。 但是我认为我不能在docker容器中执行docker命令,对不对? 从另一个容器控制容器状态的最佳方法是什么? 请注意,我的所有容器都是“仅限点”,所以用户也应该从Web服务启动,遵循日志并最终杀死它们,全部来自API调用,所有内容都来自我的控制器容器。 你能build议我什么?

反向代理nginx和Express服务器返回502

我正在运行一个带有Nginx反向代理configuration的VPS,转发给三个Angular网站。 每个站点都在Express服务器后面的Docker容器中运行。 我起床的前两个网站没有问题。 他们是简单的Angular网站,在项目目录的底部有server.js和index.html文件。 对于第三个站点我有一点点爱好者,并使用Grunt将项目文件构build到一个名为public的新目录中。 我的目标是从该公共目录中查看该站点。 这是我的nginx.conf文件。 请注意,前两个服务器块正在按预期工作。 然而,浏览到第三个结果是“502错误请求”: server { listen 80; server_name domain1.com domain2.ca; location / { proxy_pass http://127.0.0.1:9001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name sub1.domain1.com sub1.domain2.ca; location / { proxy_pass http://127.0.0.1:9002; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_set_header […]