Docker 部署 Node js demo程序

1.准备node js程序,使用express框架。

  mkdir demo

  在demo文件夹下建立package.json

{
"name":"nodedocker",
"description":"demo",
"version":"0.0.1",
"dependencies":{
  "express":"4.x"
  }
}

  在命令行执行: npm install

2.编写app.js文件,在demo文件夹下建立app.js文件

var express = require('express');
var app = express(); app.get("/",function(req,res){
res.send("hellor world");
}) app.get('/book', function (req, res) {
res.send('Hello book!');
}); app.get('/index', function(req, res){
res.send('customer index');
}); app.listen(3000,function(){
console.log("server start. Listen port:3000");
});

 

3.本地机器测试。 命令行输入 node app.js。然后打开浏览器 输入 localhost:3000 即可看到输出hello world输出

  

4.准备Dockerfile

FROM node

COPY . /home/src

RUN cd /home/src; npm install

EXPOSE 3000

CMD ["node","/home/src/app.js"]

 

5.在命令行进入Dockerfile文件所在目录,执行: docker build -t nodejsdemo ./

6.Built successful之后 docker images 即可查看刚才build的镜像文件

7.执行 docker run -it -p 3000:3000 --name nodejsdemo -d nodejsdemo

8.浏览器输入 (虚拟机地址)192.168.99.100:3000 即可看到 输出。

docker & nodejs的更多相关文章

  1. docker nodejs 基本应用

    1. 安装docker 环境 2. nodejs  应用布局 package.json { "name": "docker-centos-hello", &qu ...

  2. docker & nodejs & mongodb

    Nodejs 应用简单的访问Mongodb 部署至Docker 1.本地简单的写能运行起来的一个nodejs (demo可写的更简单 一个post一个get即可) schemas  user.js v ...

  3. 巨杉Tech | 使用 SequoiaDB + Docker + Nodejs 搭建 Web 服务器

    容器化技术的出现大大简化了应用开发人员在构建底层基础设施的工作.SequoiaDB 巨杉数据库于3.2.1版本正式推出了 Docker 容器化部署方案,本文将会基于 SequoiaDB 巨杉数据库与N ...

  4. nodejs docker 开发最好选择yarn 进行包管理而不是npm

    npm 与yarn 的区别网上一大堆的文章,我们在构建docker 镜像是应该遵守的有些原则   基础镜像尽量小 对于构建进行缓存处理 构建的docker 的文件层数尽量少 能直接运行的,就别进行重复 ...

  5. 多阶段构建Golang程序Docker镜像

    Docker简介 Docker是基于Linux容器技术(LXC),使用Go语言实现的开源项目,诞生于2013年,遵循Apache2.0协议.Docker自开源后,受到广泛的关注和讨论. Docker在 ...

  6. 轻松测试 logstash 的配置文件

    配置文件本身非常脆弱!所以修改配置文件自然会引入部署失败的风险.如果能够对配置文件进行自动化测试将会极大的降低这种风险.本文将介绍一个可以自动化测试 logstash 配置文件的工具,让大家可以像写单 ...

  7. Docker实践--部署Nodejs应用

    这个例子的目标是为了向大家展示如何在Docker的container里运行Node.js程序.我会先创建一个简单的Node.js web app,来构建一个镜像.然后基于这个Image运行一个cont ...

  8. Docker实战--部署简单nodejs应用

    如何在Docker的container里运行Node.js程序 主体思路:一个简单的Node.js web app,来构建一个镜像,然后基于这个镜像,运行一个容器,从而实现快速部署. 操作环境: 虚拟 ...

  9. 使用docker+jenkins构建nodejs前端项目

    前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目.这一节,我们继续扩展功能,增加对Nodejs ...

随机推荐

  1. Android学习第一课

    首先看一个android项目中各个包的作用 以下看几个经常使用的控件: 1. TextView 显示文本框控件 2. EditText 输入文本框 TextView控件经常使用属性: id----控件 ...

  2. Codeforces Round #277 (Div. 2) A. Calculating Function 水题

    A. Calculating Function Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/4 ...

  3. [GIF] GIF Loop Coder Single Mode

    We'll take a look at Single Mode animations and strategies for making this type of animation smoothl ...

  4. 169 Majority Element [LeetCode Java实现]

    题目链接:majority-element /** * Given an array of size n, find the majority element. The majority elemen ...

  5. Swift3.0相对于2.3语法的一些变化

    前言 : Swift3.0的Swift的第3个主要版本,目标是安全,快速和有表现力,也是第一个有开源社区参与开发的Swift版本.由于语法和API改动比较多,Xcode 8.0 Beta提供了migr ...

  6. WebFormJS注册位置

    1. int height = Request.Browser.ScreenPixelsHeight; int width = Request.Browser.ScreenPixelsWidth; R ...

  7. Windows 10正式版官方原版ISO镜像下载

    [微软官方]下载地址1:官方下载工具(32-位系统版本)官方下载工具(64-位系统版本) [MSDN]下载地址2:cn_windows_10_multiple_editions_x64_dvd_684 ...

  8. Opacity多浏览器透明度兼容处理(转)

    用来设定元素透明度的 Opacity 是CSS 3里的一个属性.当然现在还只有少部分浏览器支持. 不过各个浏览器都有自己的私有属性来支持,其中包括老版本的Mozilla和Safari: IE: fil ...

  9. Android(java)学习笔记93:Android布局详解之一:FrameLayout

    FrameLayout是最简单的布局了.所有放在布局里的控件,都按照层次堆叠在屏幕的左上角.后加进来的控件覆盖前面的控件. 在FrameLayout布局里,定义任何空间的位置相关的属性都毫无意义.控件 ...

  10. iOS银行卡合法性校验

    项目中用到了校验银行卡,就拿来贴上来了 + (BOOL)checkCardNo:(NSString*)cardNo;//判断银行卡 + (BOOL)checkCardNo:(NSString*)car ...