构建基础镜像:
1、下载一个 Apline Linux 操作系统 作为基础镜像,约5MB左右.
docker pull Apline
 
2、进入到 Apline 容器内。
docker run -a stdin -a stdout -i -t  alpine /bin/sh  进入容器内部.
 
3、安装好NodeJs,webpack ,npm 环境.
apk update
apk add nodejs
npm install webpack -g (这个注意,默认安装的4.0版本,要根据的项目来安装webpack版本).

npm install -g cnpm --registry=https://registry.npm.taobao.org

4、测试安装是否成功.
node -v
npm -v
exit; 退出容器.
 
5、将容器打包成基础镜像.
docker commit --author  "shawn"  --message "Node基础镜像" 7a012ac764af snode:1.0
 
6、将容器推送至阿里云镜像仓库.(先注册一个阿里云账号)
$ sudo docker login --username=xxx registry.cn-hangzhou.aliyuncs.com
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/sblockchain/node:[镜像版本号]
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/sblockchain/node:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/sblockchain/node:[镜像版本号]
做完上面6个步骤,基础镜像就已经构造好了。基础镜像中安装什么环境,取决于你项目的需要.
 
以React 项目为例,将React 项目打包成Docker 镜像.
 
1、编写dockerfile
FROM registry.cn-hangzhou.aliyuncs.com/sblockchain/node
WORKDIR /package
COPY package.json  /package/
RUN cnpm install
WORKDIR /usr/src/mobile
COPY .   /usr/src/mobile
RUN cp -a  /package/node_modules  /usr/src/mobile
RUN webpack
ENV PORT=3002
CMD ["node","./dev-server.js"]
EXPOSE 3002
 
2、编译代码
docker build -t webpack-docker
 
 
3、启动代码.
# For development
docker run --name my-webpack-docker -p 80:4000 -e NODE_ENV=dev  webpack-docker
 
# For deployment
docker run --name my-webpack-docker -p 80:4000 webpack-docker
 
 

Docker + webpack 打包前端项目的更多相关文章

  1. 如何使用webpack打包前端项目

    webpack概述 随着前端体积越来越大,功能越来越丰富,这时候就需要将前端工程化,而 webpack就是用于将前端各种文件打包起来. 一个简单的webpack应该包含以下几个概念 · 入口起点 · ...

  2. 基于ES6模块标准通过webpack打包HTM5项目

    本篇主要演示通过webpack打包phaser项目,webpack安装方法在此处就不一一赘述了 经常用phaser来写html5游戏的朋友可能会发现,当游戏场景比较多时,如果都写在一个js文件中那么将 ...

  3. npm打包前端项目太慢问题分析以及暂时解决方案

    npm build 打包前端项目实际上是执行 node build/build.js,但是随着项目的依赖包越来越多,项目打包时间不断延长,为了改善这个问题,需要从node入手 暂时解决方案:扩大nod ...

  4. webpack打包vue项目之后生成的dist文件该怎么启动运行

    亲测,webpack打包vue项目之后生成的dist文件可以部署到 express 服务器上运行. 我的vue项目结构如下: 1. 进入该vue项目目录,打开git bash,执行:npm run b ...

  5. docker自动化部署前端项目实战一

    docker自动化部署前端项目实战一 本文适用于个人项目,如博客.静态文档,不涉及后台数据交互,以部署文档为例. 思路 利用服务器node脚本,监听github仓库webhook push事件触发po ...

  6. jenkins打包前端项目报 error: index-pack died of signal 15 问题解决

    jenkins打包前端项目报 error: index-pack died of signal 15 问题解决 前几天用jenkins打包一个前端项目的时候出现了 error: index-pack ...

  7. Webpack构建前端项目

    前言 公司据说要搞前后端分离,趁这两天项目完成的差不多,抓紧时间学习一下前端知识 现在流行前端项目工程化,那么第一个问题就是如何创建工程(项目),第一次玩webpack 通过 NPM 创建项目 # 创 ...

  8. Angular企业级开发(6)-使用Gulp构建和打包前端项目

    1.gulp介绍 基于流的前端自动化构建工具,利用gulp可以提高前端开发效率,特别是在前后端分离的项目中.使用gulp能完成以下任务: 压缩html.css和js 编译less或sass等 压缩图片 ...

  9. webpack打包nodejs项目(前端代码)

    PS.若本文没有帮到你可以看看我的进阶版点此前往 适用情况 首先说明,此情况不具备普遍性.若你的情况与笔者类似那么希望这篇文章能够帮到你. 我的项目情况是这样的:用node.js做后台,ejs做模板引 ...

随机推荐

  1. hi3531的hifb显示1080p60Hz

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...

  2. 部署Java Web项目报错(二)

    在编写HighCharts折线时,并且数据源是请求CSV,运行项目时出现错误 Uncaught TypeError: Cannot read property 'prototype' of undef ...

  3. Flex中TitleWindow传值

    Flex中TitleWindow传值 1.设计思路 (1)新建一个DataGrid,在其中最后一列加入三个按钮:新增.修改和删除: (2)点击新增按钮,可以将表格新增一行: (3)单击"修改 ...

  4. freemarker.core.ParseException:Unexpected end of file reached

    1.错误原因 freemarker.core.ParseException:Unexpected end of file reached 2.错误原因 由于在宏定义中,运用组件时没有关闭标签,导致出错 ...

  5. java打印等腰三角形的两种方法!(根据行数,根据底边长度)

    首先来看根据用户输入的底边的长度判断: package cn.edu.nwpu.java; import java.util.Scanner; public class IsoscelesTriang ...

  6. 一个简单的freemark输入输出的案例(二)

    freemarker入门实例 1.设计思路 (1)新建Maven Project (2)生成freemarker模板 (3)写freemarker页面ftl文件 (4)写测试文件 2.新建Maven ...

  7. WPF基础篇之移动特效

    前一段时间,在做动画特效的时候,在网上看到了一个水平移动控件的例子.里面用到了RenderTransform特效.在网上查找资料发现了一篇基础的文章: 文章源地址:http://www.ithao12 ...

  8. Link带参数的Verilog模块(Design Compiler)

    在Design Compiler中,Verilog文件可以用read_verilog命令读入,用link命令连接.以下是连接两个文件RegisterFile.v和Test.v的脚本: # Read d ...

  9. 【BZOJ3130】费用流(最大流,二分)

    [BZOJ3130]费用流(最大流,二分) 题面 Description Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识. 最大流问题:给定一张有向图表示运输网络,一个源点S和一 ...

  10. 【BZOJ2431】逆序对数列(动态规划)

    [BZOJ2431]逆序对数列(动态规划) 题面 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组 ...