Tag: docker

docker简单的node.js工作stream程

我在Windows上使用Docker进行开发,我正在尝试为node.js项目创build一个简单的工作stream程。 我跟着这个教程https://nodejs.org/en/docs/guides/nodejs-docker-webapp/所以我的Dockerfile看起来像这样 FROM node:boron # Create app directory WORKDIR /usr/src/app # Install app dependencies COPY package.json . # For npm@5 or later, copy package-lock.json as well # COPY package.json package-lock.json ./ RUN npm install # Bundle app source COPY . . EXPOSE 8080 CMD [ "npm", "start" ] 我的每个更改的“工作stream程”将如下所示 第一次build造 docker build -t thomas/myApp DockerProjects/myApp […]

如何让npm使用caching

好的,我应该添加一个警告,我在一个Docker容器中,但实际上应该不会有太大的关系,我不停止容器,并且为npmcaching文件夹以及/ home文件夹用户运行npm命令。 Docker容器的目的是安装npm,它是一个构build从站,由Jenkins构build起来构build一个AngularJs应用程序。 问题是,它非常慢,每次都下载所有需要的npm包。 jenkins是用户,build立服务器上的jenkins帐户是“谁”运行npm install 对于运行npm install cmd: /home/jenkins/.npm的用户,以及命令npm config get cache所说的文件夹,我的卷都是我的caching目录: /root/.npm 。 不是容器卷应该甚至重要,因为在运行npm install之后我还没有停止容器。 确定我开始debugging的步骤,开始,我用这个命令“打开容器”: docker exec -it <container_id> bash 我从这个点运行的所有命令我连接到正在运行的容器与npm安装。 echo "$HOME"结果在/root npm config get cache以root/.npm npm config get cache结果 任何时候jenkins运行npm install在这个容器中,在那个命令成功完成之后,我运行npm cache ls ,总是产生空的,没有任何caching: ~/.npm 许多软件包被下载,但我们可以用ls -a /home/jenkins/.npm/看到: 所以我试着把cache-min设置为很长的到期时间: npm config set cache-min 9999999没有帮助。 我不知道还有什么可以做,看来我的npm软件包没有被caching,如何获得npm来caching软件包? 这里是一个截断的npm安装输出: Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.3/linux-x64-48_binding.node […]

如何使用 – Express + Docker + Azure来映射端口

我完全被困在以下。 尝试在Azure虚拟机上的Docker中设置快速应用程序。 1)使用docker-machine create -driver azure之后VM是好的… 2)build立完整的图像后: //Dockerfile FROM iojs:onbuild ADD package.json package.json ADD src src RUN npm install EXPOSE 8080 CMD ["node", "src/server.js"] 这里是我卡住的地方: 我已经尝试了以下所有以及更多: • docker run -P (Then adding end points in azure) • docker run -p 80:8080 • docker run -p 80:2756 (2756, the port created during docker-machine create) • docker […]

Bluemix可扩展容器组自定义域SSL证书

好吧,我终于成功地使用可伸缩容器组和自定义域来启动并运行node.js容器。 现在仍然存在的问题是:如何通过https://my-app.mydomain.com访问应用程序时获得Bluemix使用的自签名证书? Https的作品,但它显示通配符* .mybluemix.net证书,而不是我添加到我添加到我的组织的域的证书。 访问https://my-app.mybluemix.net是可以的,因为通配符mybluemix.net证书是有效的。 是的,我已经看到了这个,并阅读了Bluemix文档的SSL部分。 developerWorks:SSL证书和Bluemix自定义域

将文件从本地机器复制到docker

我已经创build了一个nodejs应用程序,它使用外部文件来读取各种configuration,并且为这个应用程序创build了一个docker容器。 我需要这个应用程序从主机读取configuration文件(因为他们将不时更改),而不重build整个docker集装箱。 如何才能做到这一点?

在Docker容器中打开端口

我试图在一个Docker容器中以debugging模式运行node.js应用程序,并将另一个容器中的debugging器附加到在第一个容器中运行的应用程序中。 因此,我试图打开端口5858到外面的世界。 但是,当我–link另一个容器连接到第一个容器(带有别名firstContainer ),并运行nmap -p 5858 firstContainer ,我发现5858端口是closures的。 第一个容器告诉我,node.js应用程序正在监听端口5858,我已经暴露了Dockerfile中的端口,并且还将端口绑定到了我机器上相应的端口(尽pipe我不是确定这是必要的)。 当我在端口8080上运行nmap时,一切都成功了。 如何打开Docker容器上的端口5858,以便可以将debugging器连接到此端口? Dockerfile是: FROM openshift/base-centos7 # This image provides a Node.JS environment you can use to run your Node.JS # applications. MAINTAINER SoftwareCollections.org <sclorg@redhat.com> EXPOSE 8080 5858 ENV NODEJS_VERSION 0.10 LABEL io.k8s.description="Platform for building and running Node.js 0.10 applications" \ io.k8s.display-name="Node.js 0.10" \ io.openshift.expose-services="8080:http" \ io.openshift.tags="builder,nodejs,nodejs010" […]

为node.js应用程序构builddocker镜像在代理之后失败

在docker构build过程中,我遇到了npm问题。 我背后的公司代理,并已阅读大约30篇文章(和stackoverflowpost)解决类似的问题。 但是,我仍然无法克服这一点。 我能够“npm安装”该项目,并获取所有必要的依赖关系以外的docker生成过程(但也使用代理),但不是在期间。 我到目前为止所尝试的: 直接使用代理(以及硬编码authentication数据),也通过CNTLM。 下面的描述是使用CNTLM的时候。 使用http repository,如下所示,使用strict_ssl false。 npm config set strict-ssl=false \ npm config set registry=http://registry.npmjs.org/ \ 通过代理设置–build-arg,env和通过运行参数 从一个干净的git checkout(没有node_modules)开始,并在运行npm install之后 我正在尝试build立: $ sudo docker build –build-arg HTTP_PROXY=http://127.0.0.1:3128 –build-arg HTTPS_PROXY=http://127.0.0.1:3128 . 输出 Sending build context to Docker daemon 226.6 MB Step 1 : FROM node:argon —> c74c117ed521 Step 2 : ENV http_proxy […]

在一个Docker镜像中运行两个nodejs应用程序

我怎么能在一个泊坞窗图像中运行两个不同的nodejs应用程序? 两个不同的CMD [ "node", "app.js"]和CMD [ "node", "otherapp.js"]将不起作用,导致Dockerfile中只能有一个CMD指令。

GKE节点上的节点大小

我们使用标准2的两个节点运行我们的集群:7.5Gb和2vCPU GKE上的集群是否有推荐的最小尺寸? 我认为没有真正的主人,因为这是一个托pipe的“服务”? 我正在努力处理资源限制。

如何启动我从另一个人得到的Docker容器?

我是一个Docker-新手,我从另一个开发人员那里得到了一个包括Dockerfile的项目。 这应该让我的虚拟机继续与这个项目文件夹内的(nodeJS-)项目工作。 Docker已经安装在我的机器上。 我现在怎样启动这个容器? 我读过关于一个命令 sudo docker run -name my_first_instance 但我无法在Dockerfile中find任何容器名称。