NodeJS App and Docker
1 Dockerfile to Install the Env and App
#Run a Simple REST API based on playframework
#Prepre the OS
FROM centos:7
MAINTAINER Carl Luo <luohuazju@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
ENV HTTP_PORT 8004
#Install nodeJS and foreverJS
RUN yum groupinstall -y "Development Tools"
RUN mkdir /tool/
WORKDIR /tool/
ADD install/node-v4.2.3.tar.gz /tool/
WORKDIR /tool/node-v4.2.3
RUN ./configure
RUN make
RUN make install
RUN npm install -g forever
#Install the Application
RUN mkdir -p /share/email-scan
WORKDIR /share/email-scan
ADD /dist/email-scan-1.0.tar.gz /share/email-scan
#Start the Application
EXPOSE 8004
RUN mkdir -p /app/
ADD start.sh /app/
WORKDIR /app
CMD [ "./start.sh" ]
2 Start Command start.sh
#!/bin/sh -ex
cd /share/email-scan
PORT=8004 forever start --minUptime 10000 --spinSleepTime 10000 -a -l forever.log -o ./logs/out.log -e ./logs/err.log app.js
tail -f /dev/null
The last command tail -f /dev/null is important, that will keep the container running.
3 Makefile for Run/Debug/Build
IMAGE=sillycat/email-scan
TAG=1.0
NAME=email-scan
REPOSITORY=registry.sillycat.com
prepare:
wget https://nodejs.org/dist/v4.2.3/node-v4.2.3.tar.gz -P install/
push-local:
docker push $(REPOSITORY)/$(IMAGE):$(TAG)
app-build:
gulp dist
docker-context:
build: docker-context
docker build -t $(REPOSITORY)/$(IMAGE):$(TAG) .
run-stage:
docker run -d -p 8004:8004 -e RUNNING_ENV=stage --name $(NAME) $(REPOSITORY)/$(IMAGE):$(TAG)
debug:
docker run -ti -p 8004:8004 --name $(NAME) $(REPOSITORY)/$(IMAGE):$(TAG) /bin/bash
clean:
docker stop ${NAME}
docker rm ${NAME}
logs:
docker logs ${NAME}
publish:
docker push ${IMAGE}
References:
http://sillycat.iteye.com/blog/2258021
分享到:
相关推荐
docker build -t my-nodejs-app . 跑步: docker run -p 9000:9000 -it --rm --name my-running-app my-nodejs-app 在这种情况下,我们在端口 9000 上运行应用程序,所以不要忘记在 VirtualBox Manager 中公开...
nodejs-docker, Google App Engine 灵活的node.js Docker 图像 Google云平台 node.js Docker 映像 这个存储库包含了谷歌维护的node.js Docker 图像的源代码。 可以在 launcher.gcr.io/google/nodejs 或者 gcr.io/...
nodejs-docker-express 使用Node.js的Docker仓库-Express Demo App
nodejs-dockerapp
um rodando um app nodejs(应用程序)访问容器数据库; um rodando nginx(nginx)fazendo proxy reverso para o container应用程序; 巴拉猪: git clone ...
用于托管静态站点的 nodejs 应用程序的 Docker 映像 与 docker-compose 一起使用 创建一个 fig.yml 或 docker-compose.yml (如果你还没有安装 docker-compose) 设置ports参数,指定绑定到容器80端口的端口 指定...
使用docker-compose的nodejs todo应用程序从docker-compose up -d开始您可以通过访问127.0.0.1:3000/todos访问该应用程序。在mysql中创建表use sampleDb;CREATE TABLE `todos` ( `id` int(11) NOT NULL AUTO_...
docker-nodejs-app
对于docker sudo docker运行-p 3000:3000 -d salvadorx1 / nodejs-app sudo docker build -t salvadorx1 / nodejs-app。 如果没有docker npm install npm run dev 要在线测试,请访问 任务 1-oAuth身份验证策略...
该映像可以在launcher.gcr.io/google/nodejs或gcr.io/google-appengine/nodejs找到,并且可以用作在 , 或任何其他Docker上运行应用程序的基础映像。主持人。 该图像基于Ubuntu 16.0.4和包括和从安装和从安装 。 ...
入门克隆此存储库git clone git@github.com:Maximization/scaling-nodejs-with-docker.git && cd scaling-nodejs-with-docker 启动缩放到四个应用程序实例的应用程序堆栈docker-compose up -d --scale app=4 在...
网页应用-TODO-APP是一个基于Docker、Node.js、Express和React技术栈构建的可拖拽功能的项目。这个项目提供了便捷的任务管理功能,并且利用现代前端和后端技术来实现高效的应用开发和部署。 首先,Docker是容器化...
安装指南用于运行绑定到 Docker Redis 数据库实例的 Docker NodeJS 应用程序的 Git 项目,在 9191 上公开一个快速端口。 安装流浪汉cd 进入根目录执行vagrant up ,请等待 5-10 分钟以完成设置完成后打开浏览器并转...
2. `nodejs-app/`: 这是一个或多个 Node.js 应用程序的源代码目录,可能包含 `package.json`,`server.js` 或其他相关的 JavaScript 文件。 3. `haproxy/`: 这可能是 HAProxy 的配置目录,包含 `haproxy.cfg` 文件,...
docker_postgres_nodejs Meu app para testar作为Docker,PostgreSQL和NodeJ的技术
MeteorJS应用服务器(NodeJS) 我已创建此docker映像,作为计划在服务器上使用的多个集合的一部分。 计划是在允许docker运行的任何服务器基础架构上使用docker容器部署MeteorJS应用程序。 这个特定的映像定义了一...
docker build -t my-nodejs-app . 跑步: docker run -p 9000:9000 -it --rm --name my-running-app my-nodejs-app 在这种情况下,我们在端口 9000 上运行应用程序,所以不要忘记在 VirtualBox Manager 中公开...
docker-node-app Compainion存储库,用于
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。为什么要用Docker为了线下线上环境一致,更方便的部署大家一定经历过环境配置的折磨“明明在我这台机器上都...