Tag: node.js

Kubernetes重新启动豆荚

我有容器挂载到主机的kubernetes上运行的集装箱节点js应用程序。 出于开发目的,当主机卷dir /文件发生任何更改时,节点应用程序应该重新启动。 在Dockerfile中,我有 CMD ["forever", "index.js"] 这只会在容器启动时启动应用程序,但在更改发生时不会重新启动。 我已经交叉检查,并确保更改从主机卷正确同步到容器

在开发之前或之后的Docker镜像? (初学者)

我正在尝试用HTML5canvas构build一个带有Node.js和Socket.io的网站。 我是新来的docker和容器,并试图了解他们如何工作。 我有几个想帮助理解的问题。 在应用程序开发之前或之后应该安装docker吗? 我可以在Mac上部署Docker吗? 如何设置使用该技术的环境? 问题可能是天真的,但我是一个初学者。 我研究了谷歌和大多数文章解释什么docker是什么,它是如何比虚拟机好,但没有多less显示使用情况或方法。 任何线索将不胜感激。

在docker-compose中运行命令

我正试图在Ubuntu 15.10的VPS机器上运行两个docker容器,并使用docker-compose这件事。 一个容器是一个mongodb服务器,另一个容器运行我的web应用程序,用node.js / sails.js写成。 我在docker-compose.yml编写了以下docker-compose.yml以便docker-compose.yml docker-compose up将运行这两个容器。 我将Web应用程序挂载到Web应用程序泊坞窗容器中的目录/host ,并且想要执行端口映射3050:1337 (host:docker)。 为了运行web应用程序,我使用了command标签并使用bash来更改目录并执行sails lift命令,但是它不起作用。 我想我的下面的脚本是错误的: MongoDB: image: mongo MyAPI: image: sailsjs-microservice:dev volumes: – /root/Code/node/My-API:/host command: bash -c "cd /host && sails lift" ports: – "3050:1337" 我感谢您的帮助

我该如何等待拉?

我需要从节点运行一个容器,所以我使用dockerode模块,它使用Docker API。 要运行一个容器,我首先需要把图像(如果它不在本地)。 我已经提出了简单的呼叫,但我很难找出如何连接电话,特别是关于pull提供的callback。 这是我有什么: init: function(opts) { var self = this; self.docker = new Docker(); self.pull = Bluebird.promisify( self.docker.pull, { context: self.docker } ); self.createContainer = Bluebird.promisify( self.docker.createContainer, { context: self.docker } ); }, run: function(opts) { var self = this; return self.createContainer(opts).catch(function(e) { return self.pull(opts.Image).then(function(stream) { return self.createContainer(opts); }); }).then(function(o) {; var start […]

如何使用Docker Compose在容器中运行命令?

我有以下情况:我有一个使用MongoDB的Node.js应用程序,所以使用Docker Compose,我可以有两个容器:一个用于Node应用程序,另一个用于MongoDB。 现在,该应用程序必须支持以下function:可以上传一个csv文件,该文件将使用mongoimport导入到Mongo中。 使用Node,运行mongoimport很容易,因为我们有exec函数。 也就是说,这将是一个像做一样的事情: const exec = require('child_process').exec; exec('mongoimport -d database -c collection –type csv file.csv', function (error, stdout, stderr) { // Other stuff here… }); 唯一的问题是: mongoimport将不可用,因为MongoDB是在另一个容器比Node应用程序! 现在怎么解决? 我想通过exec使用SSH来运行在Mongo容器上,但我不确定。 我如何从Node应用程序运行mongoimport到Mongo容器?

具有节点,java和Dynamodblocal的Dockerfile

我正在尝试创build一个包含以下内容的docker文件 的NodeJS java(jre) Dynamodb本地 到目前为止,我能够通过节点完成Node部分:氩气,但不知道如何完成剩下的工作。 这就是我的Dockerfile的样子 FROM node:argon # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app COPY package.json /usr/src/app/ RUN npm install # # Bundle app source COPY . /usr/src/app EXPOSE 3000 CMD [ "npm", "start" ] 有人可以告诉我如何获得java(jre)和dynamodblocal在这个相同的图像。 我知道理想情况下,你应该有一个单独的容器dynamodbocal,但我认为dynamodblocal只能通过本地主机访问。

npm安装与docker – kurento应用程序的错误

我正在尝试在Docker容器中安装一个kurento webserver。 并试图执行kurento一对一的调用教程。 我在npm安装步骤中遇到错误。 步: 运行cd kurento-tutorial-node / kurento-one2one-call && npm install 错误如下: > node-gyp rebuild gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at failNoPython (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:401:14) gyp ERR! stack at /usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:330:11 gyp ERR! stack at F (/usr/lib/node_modules/npm/node_modules/which/which.js:63:16) gyp ERR! […]

在运行时拖拽docker容器中的ssh键

我正在创build一个nodejs应用程序,该应用程序将与Git仓库集成,并执行诸如push,pull commit等操作。我正在将应用程序移至Docker。 但是我找不到在运行时将ssh密钥放入泊坞窗图像的方法。 为了安全起见,我想避免在构build时在docker镜像中复制ssh密钥。 我曾尝试在运行时将ssh密钥作为envvariables传递,如下所示: docker run -i -t -e KEY="sshkey" imagename 并在node.js中手动创buildssh文件夹和ssh密钥 mkdirSync('/root/.ssh/', (err) => { writeFileSync('/root/.ssh/id_rsa.pub', sshKey, (err) => { }) }) 但是,这似乎并没有工作,但我仍然在尝试克隆回购时遇到许可错误。 我需要做些什么来加载SSH密钥,以便他们可以使用GIT? 有没有办法使用Dockerfile来做到这一点。 我知道我可以将它添加到构build,时间,但还没有find一种方法来在运行时。 我如何检查正在运行的docker集装箱的FS?

使用两个docker文件 – dev和prod

喜, 我正在使用docker文件为我的生产代码创build一个图像,该图像不包含源代码: FROM node:latest MAINTAINER Fatima Alves COPY ./dist /mya-app/dist/ COPY ./s3options.json /mya-app/ COPY ./node_modules /mya-app/node_modules WORKDIR /mya-app ENTRYPOINT ["node", "./dist/"] 现在我想创build一个图像在我的机器上工作,一个dev图像。 在这种情况下,必须包含文件夹src ,并且ENTRYPOINT将是["node", "./dist"] 。 是否有可能包括在我的Dockerfile中,或者我需要两个文件,一个用于开发和其他产品? 提前致谢!

无法使用shell脚本启动节点应用程序

我创build了一个node.js的Docker镜像。 在我的Dockerfile的末尾使用CMD node myapp.js ,它启动。 但是当我使用CMD /root/start.sh ,则失败。 这就是我的start.sh : #!/bin/bash node myapp.js 这里是我的Dockerfile的重要行: FROM debian:latest COPY config/start.sh /root/start.sh RUN chmod +x /root/start.sh WORKDIR /my/app/directory RUN apt-get install -y wget && \ wget https://nodejs.org/dist/latest-v5.x/node-v5.12.0-linux-x64.tar.gz && \ tar -C /usr/local –strip-components 1 -xzf node-v5.12.0-linux-x64.tar.gz && \ rm -f node-v5.12.0-linux-x64.tar.gz && \ ln -s /usr/bin/nodejs /usr/bin/node # […]