Tag: node.js

Windows /节点容器上的GitLab CI / Docker – 未知networkinghttp

我试图运行基本的pipe道,应该使用GitLab CIbuild立我的web项目 我的设置: GitLab CE 10.1.4在Ubuntu 16.04上 带有docker执行程序的Windows 10 1703上的GitLab Runner 10.1.0 在同一台Windows机器上的Docker 17.09.0-ce-win33(13620) .gitlab-ci.yml: image: node:latest cache: paths: – node_modules/ build: script: – npm install – npm run build 我得到这个输出失败的构build: Running with gitlab-runner 10.1.0 (c1ecf97f) on ****** (9366a476) Using Docker executor with image node:latest … Using docker image sha256:4d72396806765f67139745bb91135098acaf23ce7d627e41eb4da9c62e5d6729 for predefined container… Pulling docker […]

Docker / NodeJS:“exec:\” – d \“:在$ PATH中找不到可执行文件”

从NodeJS 8.2升级到9.1后,运行Docker容器时出现问题。 这是我得到的消息。 我使用了在Docker Hub中find的Dockerfile,但遇到了无法findpackage.json的错误。 所以我评论说,并使用我在NodeJS网站上find的那个。 以下是Docker文件: Dockerfile FROM node:9.1.0 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ONBUILD ARG NODE_ENV ONBUILD ENV NODE_ENV $NODE_ENV ONBUILD COPY package*.json ./ ONBUILD RUN npm install && npm cache clean –force ONBUILD COPY . /usr/src/app CMD [ "npm", "start" ] 我会感谢更有经验的用户的帮助。

NoFlo:我如何在Docker中运行NoFlo服务器?

我试图在我现有的微服务体系结构中开始使用NoFlo,并且我想从一个HTTP服务器开始,这样我就可以将它装载到我的代理上,并使用它进行testing。 你可以在这里find版本库。 我正在使用Docker(Compose)来pipe理一些服务(使用Dockerfile和start-docker.sh ),但它们也都有本地启动脚本( start-local.sh )。 这两个脚本都运行NPM脚本来启动带有注入ENVvariables的服务器。 我有一些疑问: 应用程序的起点应该是server.js文件还是.fbp Graph? 我在package.json放入什么来启动服务器? 当我使用Docker Compose启动所有Docker容器并且NoFlo服务器正在运行时,是否可以使用Flowhub.io编写HTTP服务器?

在Jenkinsdocker实例上找不到节点

我正在运行Jenkins作为Docker容器,并且已经安装了NodeJS插件,并且完全遵循了设置说明。 当我尝试使用node运行脚本时,出现以下错误: /tmp/jenkins9123978873441132802.sh: line 1: node: not found Build step 'Execute shell' marked build as failure Finished: FAILURE 我检查了泊坞窗卷, node bin是它应该是,它的可执行文件在那里,它从我的主机服务器运行时,它工作正常: user@server:/data/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin$ ./node –version v9.2.0 我修改了我的构build脚本以进一步探究这个问题: echo $PATH cd /var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/latest/bin ls -all ./node –version node –version npm –version 看看这是多么奇怪: Building in workspace /var/jenkins_home/workspace/release [WS-CLEANUP] Deleting project workspace… [WS-CLEANUP] Done Adding all registry entries copy managed […]

Webpack导致Linux Alpine中的分段错误

我有一个通过Docker与Linux Alpine容器部署的PHP + VueJS应用程序。 这是我正在使用的configuration: stages: – codestyle – test – deploy .setup_php7: &setup_php7 | apk add –update-cache php7 php7-curl php7-ctype php7-dom php7-iconv php7-json php7-mbstring php7-openssl php7-pdo php7-pdo_mysql php7-pdo_pgsql php7-pgsql php7-pear php7-pcntl php7-ph ar php7-session php7-xml php7-xmlreader php7-zlib php7-zip rm -f /usr/bin/php && ln -s $(which php7) /usr/bin/php mv .env.gitlab .env # Setup specific for […]

解决:在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

Node.js运行与脚本库的Python脚本

我有一个Node.js应用程序,每分钟都会对API进行GET调用。 它收到的数据存储在一个MongoDB数据库中。 同时,Node.js每分钟都在该数据上运行Python脚本(使用Keras库)。 基于Python脚本的输出,Node.js应用程序对同一个API进行POST调用。 在我下载Node.js,npm,python的keras库和mongo后,这将全部在Docker上全天候运行。 Node.js应用程序和Python脚本应该如何交互? 我可以有一个简单的node-cmd npm包来从Node.js代码运行脚本,还是更复杂? 我错过了什么吗? 谢谢!

Nginx和Docker:nginx无法路由到正确的容器

我最近尝试设置nginx将传入的stream量路由到不同的docker集装箱。 除了site1之外,其他三个站点都连接到一个容器,有时该容器会在重新启动时更改。 在启动了所有的docker容器之后,没有任何docker logs用于nginx的。 据我可以告诉所有的后续容器正常运行(他们正在运行的Node.js) 我的docker-compose.yml: version: '2' services: resume: build: context: ../WebServer/ dockerfile: Dockerfile volumes: – ../WebServer/app/publicFiles:/app/publicFiles globalmedical: build: context: ../globalMedical/ dockerfile: Dockerfile volumes: – ../globalMedical/app/publicFiles:/app/publicFiles webjcl: environment: – NODE_DEBUG=fs build: context: ../webjcl/ dockerfile: Dockerfile volumes: – ../webjcl:/app mongo: image: 'mongo:3' depends_on: – webjcl hack: build: context: ../Hack/ dockerfile: Dockerfile volumes: – ../Hack/app/publicFiles:/app/publicFiles reverseproxy: […]

为什么我的节点容器忽略我在docker-compose.yml中设置的环境variables?

在我的docker-compose.yml中,我设置了环境NODE_ENV node2: image: … environment: – "NODE_ENV=production" 我的Dockerfile, FROM node:latest … //all the ususal stuff CMD ["npm", "start"] 我的npm, "scripts": { "start": "NODE_ENV=development node –inspect ./bin/www" }, 但是当我运行docker-compose时,发现nodejs代码仍然在开发中运行,而不是在生产中。 这是为什么? 我的第二个问题是,在没有docker的情况下运行我的nodejs,例如使用npm start ,我希望它在开发模式下运行,但是在生产模式下运行docker时,实现我想要在此处执行的操作的正确方法是什么? —-更新—– 对于我现在的第一个问题,我明白这是我的npm start覆盖NODE_ENV =生产docker-composer.yml不是另一种方式。 但是对于我的第二个问题,我仍然在寻找一个简单的解决scheme。 感谢迄今为止的答案。

Loopback Postgres在Docker-compose环境中

首先我道歉我的坏英语:) 我已经build立了一个docker-compose环境,包含一个环回API,一个PostgreSQL数据库和其他一些服务。 在这里你可以看到docker-compose.yml version: "2.1" services: postgresql: image: postgres:9.6 restart: always environment: – "COMPOSE_HTTP_TIMEOUT=200000" – "POSTGRES_USER=root" – "POSTGRES_PASSWORD=root" – "POSTGRES_DB=hh" backend: image: tyrex/backend restart: always stdin_open: true tty: true environment: – "API_BASE_PATH=/api" – "HOST_NAME=haaye-henricus.de" – "PORT=3000" – "DATABASE_HOST=postgresql" – "DATABASE_PORT=5432" – "DATABASE_NAME=hh" – "DATABASE_USER=root" – "DATABASE_PASSWORD=root" – "DEBUG_DATABASE_CONNECTOR=true" ports: – "3000:3000" command: ["./wait-for-it.sh", "postgresql:5432", "–", […]