Tag: docker

在永久docker容器中开始节点的错误

我有一个问题,永远在docker集装箱开始节点,如果我手动启动工程,而不是相同的命令在Dockerfile中,当生成和启动容器,退出。 该命令在bash中工作: docker run -it container_name bash forever start -c 'node –harmony' /my/path/app.js 我试图把命令放入Dockerfile,但容器不启动 CMD forever start -c 'node –harmony' /my/path/app.js

用任意的gulpfile名称运行gulp(不是gulpfile.js)

在我的gulp文件中有一个特定的任务是与其他任务隔离的,并且不需要作为构build过程的其余部分运行。 我想把它放在一个单独的gulp文件中,并自行执行。 如何使用具有自定义名称的gulp文件使用gulp? 作为Gulp的文档的入门文档指引我一个没有提到CLI的API文档。 我的search试图争取gulp参数,主要是如何获得命令行参数进入gulp任务的结果。 实际的用例是在Docker容器中提取可翻译的string,我不想用不必要的node.js包来膨胀。

如何使用基于Node.js映像的Docker容器encryption

我在基于Node.js映像的Docker容器中运行基于Express的网站。 如何使用基于该图像的容器进行encryption ?

使用Yarn创build目录的权限

我试图设置一个命令,使用Yarn来创build目录,build立我的Docker镜像,然后启动docker-compose up 。 我在我的package.json添加了一个启动脚本来执行一个shell脚本 : "scripts": { "start": "./start-docker.sh", … } 这是start-docker.sh : #!/bin/bash mkdir -p volumes/mysql volumes/wordpress docker-compose build docker-compose up 它起初不起作用,因为我的容器没有权限访问创build的目录。 然后,在创build目录之后,为了给容器提供完全的权限,添加了这一行: sudo chmod -R 777 volumes 但是正如你所看到的,这个命令需要使用sudo来执行。 这意味着执行yarn start命令要求input密码,这是我不想要的。 我摆脱了shell脚本 , 只使用了纱线脚本 : "scripts": { "prestart": "mkdir -p volumes/mysql volumes/wordpress && docker-compose build", "start": "docker-compose up", … } 令人惊讶的是,它的工作,但我不明白为什么..你们有什么想法?

不能在docker容器中安装npm?

我正在数字海洋服务器的docker平台上部署一个简单的node.js应用程序。 // package.json { "name": "docker-centos-hello", "private": true, "version": "0.0.1", "description": "Node.js Hello world app on CentOS using docker", "author": "Daniel Gasienica <daniel@gasienica.ch>", "dependencies": { "express": "3.2.4" } } // app.js var express = require('express'); var PORT = 3000; var app = express(); app.get('/', function (req, res) { res.send('Hello world\n'); }); app.listen(PORT); console.log('Running on http://localhost:' […]

dockerbuild设+私人NPM(+私人docker枢纽)

我有一个在Docker容器中运行的应用程序。 它需要来自公司的私人NPM注册处(Sinopia)的一些私人模块,并且访问这些需要用户authentication。 Dockerfile是FROM iojs:latest 。 我努力了: 1)在项目根目录下创build.npmrc文件,这实际上没有什么区别,npm似乎忽略了它。2)使用envvariables为NPM_CONFIG_REGISTRY , NPM_CONFIG_USER等,但用户不login。 从本质上讲,我似乎没有办法在docker build过程中对用户进行身份validation。 我希望有人可能已经遇到了这个问题(似乎是一个明显的问题),并有一个很好的解决方法。 (最重要的是,我在Docker Hub上使用自动构build(在推送时触发),以便我们的服务器可以使用预先构build的映像访问私人Dockerregistry。) 有没有好的方法:1)在构build时注入NPM的凭据(所以我不需要向我的Dockerfile提交凭据)或者2)以另一种方式,我还没有想到呢?

Docker撰写:NodeJS + MongoDB

我不能让我的docker工作。 这是我的dockerfile: FROM node:0.12 RUN apt-get update -qq && apt-get install -y build-essential libpq-dev RUN mkdir /myapp WORKDIR /myapp ADD . /myapp RUN npm install 我的docker-compose.yml db: image: mongo ports: – 27017 web: build: . command: npm start volumes: – .:/myapp ports: – 3000:3000 links: – db environment: PORT: 3000 在server.js中: var MONGO_DB; var DOCKER_DB […]

debuggingDocker容器内的Nodejs

我正在计划一个nodejs应用程序的典型开发工作stream程。 我想大多数人会: git clone [appcode] +(Dockerfile与卷映射到本地path)> docker-compose build> docker-compose up 然后我编辑一些代码,最好使用像Webstorm的IDE或文本编辑器Sublime等。然后terminalCtrl + C终止当前进程> docker-compose up(或者configuration你的容器使用nodemon监视代码的变化)并刷新浏览器看最新的本地代码运行。 以上所有的看起来都很标准吗? 我的主要问题是没有人debugging与IDE或节点检查到容器? 我试过暴露端口等。拒绝连接。 我相信因为node.js将只允许debugging127.0.0.1:5858

如何用NodeJs缩小Docker镜像的大小

我通过angular-cli创build了新的Angular2应用程序,并在Docker中运行它。 起初,我在本地机器上启动应用程序: ng new project && cd project && "put my Dockerfile there" && docker build -t my-ui && docker run. 我的Dockerfile FROM node RUN npm install -g angular-cli@v1.0.0-beta.24 && npm cache clean && rm -rf ~/.npm RUN mkdir -p /opt/client-ui/src WORKDIR /opt/client-ui COPY package.json /opt/client-ui/ COPY angular-cli.json /opt/client-ui/ COPY tslint.json /opt/client-ui/ ADD src/ /opt/client-ui/src […]

如何扩展一个NodeJS有状态的应用程序

我目前正在开发一个基于networking的MMORPG游戏,并且想要build立一个基于Docker和DigitalOcean飞沫的自动缩放策略。 但是,我想知道如何做到这一点: 我的游戏服务器必须在不同的Docker容器之间进行拆分, 但是每个游戏服务器实例都应该像只有一个巨大的游戏服务器那样工作。 这意味着每个修改(angular色移动)都应该在每个其他游戏服务器上进行镜像。 我试图让这个工作(至less在概念上),但无法find一种方法来正确同步我的所有实例。 我应该使用只有广播事件的主人还是有其他select? 我想知道关于我的MySQL数据库的同样的事情:因为每个游戏服务器都必须从db读取/写入数据库,那么随着游戏变得越来越大,我怎样才能使它正确地扩展? 我能想到的最好的解决scheme是将数据库保存在一台function非常强大的服务器上。 我明白,如果所有的游戏服务器都不需要“分享”他们的状态,这可能很容易,但这主要是为了让我可以快速扩展,以防万一突然激增的活动。 (将有不同的“全球”游戏服务器,如A,B,C …但是这些全球游戏服务器中的每一个应该在幕后由运行“真实”游戏服务器的1-Xdocker容器组成, “全球”游戏服务器只是一个概念)