目的

实现简单的docker的nodejs容器,使用Dockerfile构建我们的使用nodejs开发的系统

技术栈

  • Docker
  • Nodejs
  • Express
  • Linux

step1 下拉nodejs基础容器 node:

本次我需要使用基础alpine操作系统构建的node基础容器

 
image.png

step2 创建项目文件夹

创建一个空目录,并且创建如下文件

root@ubuntu-docker:/server/nodejs# ls
Dockerfile package.json server.js
 
image.png

Dockerfile内容

FROM node:6.10.2-alpine
ADD . /server/www/
WORKDIR /server/www/
RUN cd /server/www && npm install
EXPOSE 3001
CMD ["node","server.js"]

package.json内容

{
"name": "docker-node-hello",
"private": true,
"version": "0.0.1",
"description": "Node.js with docker",
"author": "zhaojunlike@gmail.com",
"dependencies": {
"express": "3.2.4"
}
}

server.js app的入口文件

var express = require('express');

// Constants
var PORT = 3001; // App
var app = express();
app.get('/', function (req, res) {
res.send('Hello World\n');
}); app.listen(PORT)
console.log('Running on http://localhost:' + PORT);

step3 build

使用以下命令来构建node-app容器

#docker build -t node-hello ./
 
image.png

step4 运行测试

root@ubuntu-docker:/server/nodejs# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
node-hello latest 58a5182bd055 40 seconds ago 56.34 MB
root@ubuntu-docker:/server/nodejs# docker run -d -p 3001:3001 node-hello
0af03634720b3572e860b9d353fd140b88f729e938713f3c4fc694cfda3ec065
root@ubuntu-docker:/server/nodejs# curl localhost:3001
Hello World
root@ubuntu-docker:/server/nodejs#

本节学习源码:https://github.com/zhaojunlike/docker-node-hello

作者:Godtoy
链接:https://www.jianshu.com/p/022aadc70c80
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

01-Docker实战,搭建NodeJs环境的更多相关文章

  1. spring boot / cloud (十八) 使用docker快速搭建本地环境

    spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...

  2. linux -- ubuntu搭建nodejs环境

    需求:在web端做一个实时性功能比较强的模块, 客户端:用websocket 服务端:node.js node.js介绍:node.js天生就是一个高效的服务端语言,可以直接使用 javascript ...

  3. 使用Docker快速搭建ELK环境

    今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...

  4. 搭建Nodejs环境 创建Express应用

    1. Nodejs Nodejs是一种服务器端js脚本运行环境: Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎 2. Express开发框架 极简的web框架,完全是由路 ...

  5. docker中搭建jenkins环境

    想在docker中搭建一个jenkins环境.开始的时候我想在先pull centos,然后在里面自己搭建环境,搭建后的环境可以运行,但是不知道挂载哪的数据,这也是我不熟悉jenkins的原因. 同事 ...

  6. Linux之旅-ubuntu下搭建nodejs环境

    .NET Core也开源了,并且可移植到Linux下,而ubuntu作为linux发行版的翘楚,极大的方便了初学者的入门,搭建完ASP.NET Core运行环境后,作为半前半后的开发人员,就继续着搭建 ...

  7. TensorFlow(1):使用Docker镜像搭建TensorFlow环境

    1,关于TensorFlow TensorFlow 随着AlphaGo的胜利也火了起来. google又一次成为大家膜拜的大神了.google大神在引导这机器学习的方向. 同时docker 也是一个非 ...

  8. 使用docker快速搭建hive环境

    记录一下使用docker快速搭建部署hive环境 目录 写在前面 步骤 安装docker 安装docker 安装docker-compose 配置docker国内镜像源(可选) 安装git & ...

  9. Docker 实践搭建php环境

    docker 安装 使用官方提供的安装脚本,安装最新版的Docker curl -sSL https://get.docker.com/ | sh 安装完成后,通过如下命令启动Docker的守护进程, ...

  10. 使用docker快速搭建本地环境

    在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越来越多. 然而要顺利的安装好这些中间件也是一个比较费时费力的工作. 俗话说" ...

随机推荐

  1. KingbaseESV8R6临时表和全局临时表

    临时表概述 临时表用于存放只存在于事务或会话期间的数据.临时表中的数据对会话是私有的,每个会话只能看到和修改自己会话的数据. 您可以创建全局(global)临时表或本地(locall)临时表. 下表列 ...

  2. 【读书笔记】C#高级编程 第十二章 动态语言扩展

    (一)DLR C#4的动态功能是Dynamic Language Runtime(动态语言运行时,DLR)的一部分.DLR是添加到CLR的一系列服务. (二)dynamic类型 dynamic类型允许 ...

  3. 【ajax】发送请求 —— 结合【express】框架 { }

    1.先用 express 框架搭建一个简单的服务器 (1)在文件夹上点击右键,点击"在集成终端中打开" (2)使用"npm i express"命令安装[exp ...

  4. LSB隐写术

    此为北京理工大学某专业某学期某课程的某次作业 一.项目背景 1.隐写术 隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容. 2.L ...

  5. Java SE note1

    1.数据类型 基本类型 低------------------------------------------------->高 byte,short,char -> int -> ...

  6. 第六章:Django 综合篇 - 11:分页 Paginator

    分页功能是几乎所有的网站上都需要提供的功能,当你要展示的条目比较多时,必须进行分页,不但能减小数据库读取数据压力,也有利于用户浏览. Django又很贴心的为我们提供了一个Paginator分页工具, ...

  7. Form表单数据

    官方文档地址:https://fastapi.tiangolo.com/zh/tutorial/request-forms/ 接收的不是 JSON,而是表单字段时,要使用 Form 要使用表单,需预先 ...

  8. 记录Gerrit2.8.4环境迁移、安装、配置以及问题解决

    转载自:https://cloud.tencent.com/developer/article/1010629 说到gerrit,没听说的同学可能会感到比较陌生,那么先来copy一段关于gerrit的 ...

  9. 《Hyperspectral Image Classification With Deep Feature Fusion Network》论文笔记

    论文题目<Hyperspectral Image Classification With Deep Feature Fusion Network> 论文作者:Weiwei Song, Sh ...

  10. 【前端必会】tapable、hook,webpack的灵魂

    背景 什么是tapable.hook,平时做vue开发时的webpack 配置一直都没弄懂,你也有这种情况吗? 还是看源码,闲来无聊又看一下webpack的源码,看看能否找到一些宝藏 tapable和 ...