Tag: docker

NODE:npm ERR! 无法在npm install上获取caching统计信息

我正在运行node和npm,在Docker容器内安装nvm来运行testing。 NPM安装由具有自己的节点安装的非root用户运行。 出于某种原因,我必须像这样调用节点… /home/user/.nvm/v0.10.33/bin/node和npm像/home/user/.nvm/v0.10.33/bin/npm …引起问题,并给我一个“/ usr / bin / env”“节点”不存在,所以我把/home/user/.nvm/v0.10.33/bin/node链接到/ usr / bin / node并开始滚动东西再次。 但现在我得到这个奇怪的错误。 我搜查了这个错误,显然没有人见过它。 npm ERR! Could not get cache stat 这是完整的堆栈… npm ERR! Could not get cache stat npm ERR! Could not get cache stat npm ERR! Linux 3.16.4-tinycore64 npm ERR! argv "node" "/home/jenkins/.nvm/v0.10.33/bin/npm" "install" npm ERR! node v0.10.33 npm ERR! […]

Node Docker容器 – 运行时从Git Repo拉取节点应用程序源

我正在尝试创build一个通用的Docker镜像,并且可以与我的所有Node应用程序一起使用。 我当前的docker映像和逻辑从运行docker镜像时作为命令行arg接收到的指定Git仓库中抽取应用程序的源代码。 这里是docker文件和入口点逻辑的代码: Dockerfile: # Generic Docker Image for Running Node app from Git Repository FROM node:0.10.33-slim ENV NODE_ENV production # Add script to pull Node app from Git and run the app COPY docker-node-entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] EXPOSE 8080 CMD ["–help"] 入口点脚本: #!/bin/bash set -e # Run the command passed […]

外部访问Docker容器内的Node.JS应用程序

我有一个Node应用程序运行在托pipe在Elastic Beanstalk(单个实例)上的Docker容器中。 docker有端口3000暴露访问泊坞窗内的应用程序,我可以'curl172.17.0.32:3000/test'从主机返回预期的响应。 我遇到的问题是使用弹性beanstalkurl从外部访问此端口。 即 http://XXXXXX-env.elasticbeanstalk.com:3000/test 这将超时..任何人都可以推荐如何访问此端口外部? 谢谢

dockerfile中的node.js无法通过mongoose连接到mongolabs:getaddrinfo ESRCH

我做了一些谷歌search,但没有find任何东西.. 我的设置是这样的:OS X,boot2docker,除了mongolabs数据库以外的所有东西。 当它不在docker内时,该项目工作正常。 我正在尝试在Docker镜像中运行我的nodejs项目。 我以前做过,但没有数据库连接的要求。 问题是,我的节点应用程序在启动时崩溃的信息: /src/node_modules/mongoose/node_modules/mongodb/lib/server.js:228 process.nextTick(function() { throw err; }) ^ Error: getaddrinfo ESRCH at errnoException (dns.js:37:11) at Object.onanswer [as oncomplete] (dns.js:124:16) 有没有人有任何想法如何解决这个问题? docker中是否有一个可以设置的DNS标志,或者阻塞我与外部的连接? 编辑: 我通过mongoose连接到我的mongolab上的mongodb。 var configDB = require('./config/database.js'); mongoose.connect(configDB.url); 和我的passport.js文件看起来像这样: module.exports = { 'url' : 'mongodb://<user>:<password>@ds045027.mongolab.com:45027/database };

Docker – 正确安装Docker容器中的主机目录(Windows)

我在将我的机器上的目录挂载到Docker容器时遇到了一些麻烦。 我想挂载一个包含运行节点服务器所需文件的目录。 到目前为止,我已经成功地使用下面的Dockerfile在浏览器中运行和访问我的服务器: # Use an ubuntu base image FROM ubuntu:14.04 # Install Node.js and npm (this will install the latest version for ubuntu) RUN apt-get update RUN apt-get -y install curl RUN curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash – RUN apt-get -y install nodejs RUN apt-get -y install git # Bundle app source (note: […]

Docker撰写图片失败

我正在学习Dockerfiles和docker-compose。 当我手动运行Dockerfiles并创build容器时,他们都应该像使用docker-compose.yml脚本一样触发构build和部署,但是订阅容器停止工作。 成功运行的过程是: docker build -t cu/broker:1.0.0 broker/ docker run -d –name broker -p 6379:6379 cu/broker:1.0.0 docker build -t cu/subscriber:1.0.0 subscriber/ docker run -d –name subscriber –link broker:db cu/subscriber:1.0.0 docker build -t cu/publisher:1.0.0 publisher/ docker run –name publisher –link broker:db -ti cu/publisher:1.0.0 运行这些命令后,我有两个正在运行的容器和一个交互式控制台,我可以将单个发布命令发送到redis服务器。 我没有将每个脚本与文件夹结构一起添加到这个问题中,而是编写了一个shell脚本来重置所有内容并生成正确的结构和文件。 当我触发docker-compose.yml脚本时,它成功完成,但只有代理容器正在运行,另外两个启动后立即终止。 我不明白为什么,甚至与–verbose标志,我没有得到有用的信息,以帮助debugging。 这是我用来运行脚本的命令。 docker-compose –verbose up -d 这里是构build文件夹和文件结构的shell脚本config.sh。 #!/bin/sh # builds […]

通过Docker访问Web应用程序时连接被拒绝

我对Docker相当陌生,所以我正在尝试写一个我编写的节点Web应用程序和Docker-itize。 该应用程序是开源的,所以你可以在这里find它和Dockerfile: 爪哇战争 所以你不必点击,Dockerfile在这里: FROM mhart/alpine-node WORKDIR /src ADD . . RUN npm install EXPOSE 5050 COPY config.json /src/config.json CMD npm run docker 所以我打开Docker快速入门terminal(我在Mac OS X上),去我的path,并build立它: docker build -t paw-wars . build立之后,我运行它: docker run paw-wars 它旋转起来很好,并说它正在监听端口5050.我从docker-machine ip default ,并尝试连接到它端口5050,但我得到连接拒绝。 我已经试图解决这个问题的大多数search告诉我,我需要确保使用正确的IP,但我几乎积极,我正在做这个。 不太确定我做错了什么。 这不是在回购,但我也尝试绑定到我的应用程序(index.js) 0.0.0.0 ,但也没有工作。 谢谢!

域在主机上parsing,但不在docker容器内

我有两个容器,一个运行启动量angular器的Node.js进程,另一个运行独立的Selenium容器。 该文件如下所示: version: '2' services: www.example.localhost: build: . depends_on: – selenium dns_search: – static.example.localhost extra_hosts: – "static.example.localhost:127.0.0.1" ports: – "3000:3000" – "4000:4000" volumes: – ./src:/code/src – ./api:/code/api entrypoint: "npm run" command: "test:e2e" selenium: dns_search: – selenium.example.localhost image: selenium/standalone-chrome-debug:2.52.0 environment: no_proxy: localhost volumes: – /dev/urandom:/dev/random ports: – "4444:4444" – "6900:5900" www.example.localhost运行量angular器,然后通过protractor.config.js中的这些行连接到selenium容器: seleniumAddress: "http://selenium:4444/wd/hub", directConnect: false, 当我在Selenium容器上运行VNC时,打开容器中的chrome浏览器并键入www.example.localhost:3000它无法parsing域。 […]

无法finde模块“明确”(与docker的节点应用程序)

我是一个新手与Docker,我试图从NodeJS开始,所以这里是我的问题.. 我的项目中有这个Dockerfile: FROM node:argon # Create app directory RUN mkdir -p /home/Documents/node-app WORKDIR /home/Documents/node-app # Install app dependencies COPY package.json /home/Documents/node-app RUN npm install # Bundle app source COPY . /home/Documents/node-app EXPOSE 8080 CMD ["npm", "start"] 当我运行一个容器与docker run -d -p 49160:8080 node-container它工作正常.. 但是,当我尝试映射我的主机项目与容器目录( docker run -p 49160:8080 -v ~/Documentos/nodeApp:/home/Documents/node-app node-cont )不起作用。 我得到的错误是: Error: Cannot find […]

为什么docker集装箱消耗大量的内存?

我是docker工人。 我有一个nodejs(sails.js)应用程序。 我用docker部署了它。 在我的Ubuntu机器上只有一个docker容器运行。 当我试图通过使用“docker stats”命令监视docker容器的内存使用情况时,下面是我得到的统计信息(如图所示) 我的问题是,为什么这个单一的docker集装箱正在吃大量的内存〜207MiB? 在将来,如果我想增加每个主机运行的容器数量,它是否会消耗这个倍数的内存? 如果我想在我的机器上运行100个相同的应用程序的容器似乎并不可行的解决scheme。 有什么办法来优化docker集装箱的内存消耗? (当我没有docker运行相同的应用程序(sails lift / node app.js)时,它只消耗80MB内存。)