Tag: node.js

从Docker容器中运行的另一个节点应用程序启动节点应用程序

我有一个节点应用程序公开了一个REST API。 当它收到一个http请求,它启动另一个/不同的节点应用程序,我们称之为“服务应用程序”。 REST应用程序在容器中运行,启动服务应用程序最简单的方法是调用child_process.exec(我们只是pm2),但是它们在同一个容器中运行。 如果REST应用程序获得多个请求,这个容器解决scheme就不会扩展。 那么是否有可能REST应用程序可以启动在自己的容器内运行的服务应用程序? 如果是的话该怎么做? 有人还build议我在docker swarm中运行我的REST应用程序,这样当它得到请求时,它就会启动服务应用程序的另一个docker服务。 但我不知道该怎么做,甚至有可能呢? 我是新来的docker工人,任何意见是高度赞赏。 谢谢!

如何实现一个简单的调度程序来启动最不繁忙的主机上的docker容器

我不使用docker群或kubernetes。 我需要实现一个简单的调度程序,在最不繁忙的主机上按需启动泊坞窗容器。 docker集装箱运行nodejs代码BTW。 这里有没有开源项目已经实现了这个? 谢谢!

我如何运行多个Docker容器?

我想运行尽可能多的Docker容器,因为我有许多CPU核心。 所以,我用命令: docker run –cpus="16" –link=mongo_dev:mongodb -d -p 8001:8000 –name app myapp 另外,我试过: docker run –cpuset-cpus="0-15" –link=mongo_dev:mongodb -d -p 8001:8000 –name app myapp 但它只运行一个容器。 还是我误解了这个命令的使用? 在一台机器上运行多个Docker容器是真的吗? 据我所知,我不能使用node.js 集群模块在一个Docker容器中创build我的应用程序的多个实例,因为它只在1个CPU内核中运行,是吗?

Docker,在一个新的bash shell中运行NVM脚本

我在我的Dockerfile中有以下内容: run apt-get update; \ apt-get install -y curl && \ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash 在这行代码之后,我需要在新的bash shell中运行一个命令,以便使用从NVM脚本中设置的环境variables。 我厌倦了以下安装Nodejs,它不工作: run ["/bin/bash", "-c", "nvm install 8.7.0"] 我能做什么?

npm ERR! 代码SELF_SIGNED_CERT_IN_CHAIN AWS Ubuntu – 公司防火墙

必须将我们的AWS服务器从开放的Internet访问移到防火墙后面。 我从头开始设置新的服务器。 我有一个脚本来构build并启动一个docker镜像。 它在原始服务器上效果很好。 但是,防火墙服务器,没有运气。 我试过“npm set strict-ssl false”和“npm install npm -g –ca = null”+“npm config set ca =”“” 我读过尽可能多的文档,我可以find。 没有任何工作,我现在卡住了…这是从防火墙服务器的输出。 $ docker build . -t lab-server Sending build context to Docker daemon 23.68 MB Step 1 : FROM node:latest —> 14989a19b2c6 Step 2 : RUN apt-get update -y —> Using cache —> bf64a1065712 Step […]

Docker + React App – Docker运行命令不能打开本地主机

我在使用我的React应用程序运行Docker(我是一个初学者)时遇到了麻烦。 这是作为编码的挑战,所以我得到了这些Docker命令: dockerbuild设 – 标签应用程序名称。 docker运行-it -p 7357:80应用程序名称 这是我的dockerfile:FROM节点:6-wheezy WORKDIR /srv/tenor-frontend-test/ COPY package.json package-lock.json ./ RUN npm install COPY . . EXPOSE 80 ENV NODE_JS_PORT=80 CMD [ "npm", "start" ] 我在package.json中启动脚本: "start": "PORT=7357 react-scripts start" 在我的terminal中使用“npm start”会打开本地主机,但是当我运行“docker run”命令时,它会正确打印“npm start”会发生什么情况,但是没有打开浏览器,localhost:7357不起作用。 我希望这只是一个docker文件问题,因为“NPM开始”工作正常? 提前致谢!

如何将dockerfile环境variables传递给node.js文件?

如何将dockerfile环境variables传递给node.js文件? 我跟随docker文档传递ENVvariables,没有任何variables被传递。 对这个问题的任何见解? dockerfile: FROM 10.118.224.132:5000/node:8.6.0-wheezy ENV PORT 6000 ENV iamIP2="10.118.225.199" ENV iamPort 9999 ENV iamPort2=9997 RUN apt-get update WORKDIR /usr/src/app COPY package.json /usr/src/app COPY . . ENV mongoDBurl=10.118.225.149:27017/globalIndex CMD ["node", "server.js"] server.js: "use strict"; const fs = require('fs'); const http = require('http'); const cors = require('cors'); const request = require('request'); const link1 = process.env.PROXY_IAM_URI; […]

由于EAI_AGAIN,电子邮件不在Docker容器内使用Nodemailer发送

我已经在Docker容器中设置了Nodemailer,但是我一直无法获得发送的邮件。 我在Docker之外运行相同的代码来testing它是否工作,并发送电子邮件。 所以它必须与我的docker容器设置有关。 我用来开发的docker-compose和docker-file不是花哨的,只是必需品,而我使用docker-toolbox,因为我没有Windows 10专业版。 我发现类似的问题,例如Nodemailer在一年多的Docker容器上部署并且不包含示例代码或答案之后不发送邮件 。 另外,发现https://stackoverflow.com/a/25270794/1148107 ,并尝试更改端口为465 TLS打开和closures,但仍不发送邮件。 错误 一个EAI_AGAIN错误被抛出,我抬头,是一个DNS查找超时问题,所以可能是一个networking连接错误或代理相关的错误,但我不是docker(或devops)大师,所以我有问题搞清楚解决它。 任何人都可以解释如何让Nodemailer在Docker容器中工作吗? Error: getaddrinfo EAI_AGAIN smtp.mailtrap.io:2525 at Object._errnoException (util.js:1021:11) at errnoException (dns.js:58:15) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:95:26) code: 'ECONNECTION', errno: 'EAI_AGAIN', syscall: 'getaddrinfo', hostname: 'smtp.mailtrap.io', host: 'smtp.mailtrap.io', port: 2525, command: 'CONN' Docker撰写 services: server: container_name: server build: context: . dockerfile: .docker/node.${APP_ENV}.dockerfile ports: – "3000:3000" […]

时间不会出现在日志与pm2

你好,我想时间t出现在我的日志,我设置dockerfile上的选项,但时间不显示。 Dockerfile: FROM *** COPY . /src WORKDIR /src RUN npm install ENV LD_PRELOAD /src/node_modules/sharp/vendor/lib/libz.so RUN npm run build RUN cp -rv /src/dist/* /src && rm -rf /src/dist RUN mkdir -p /src/document && mkdir -p /src/tempUploads ENV NODE_ENV __NODE_ENV__ RUN echo "Europe/Paris" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata CMD ["pm2-docker", "index.js", "–log-date-format" "YYYY-MM-DD HH:mm"]

在OpenShift 3上部署自定义的NodeJS Docker镜像

基地的OpenShift NodeJS Docker镜像没有安装iproute软件包,所以我的目标是改变基础镜像来实现。 我所做的是: $ git clone –recursive https://github.com/sclorg/s2i-nodejs-container.git $ cd s2i-nodejs-container $ git submodule update –init 我更改了6 / Dockerfile以包含缺less的包: INSTALL_PKGS="rh-nodejs6 rh-nodejs6-npm rh-nodejs6-nodejs-nodemon nss_wrapper iproute" && \ 我build立的形象: $ cd 6 $ docker build -t myimage . 我在开始一个shell会话时得到这个: $ docker run -it myimage /bin/bash ': not a valid identifierble: line 2: unset: `ENV is probably […]