详解angular应用容器化部署


Posted in Javascript onAugust 14, 2018

Intro

我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...),但是记录了我对于前端框架及工具的一些实践,

从开始只有一个 angularjs 制作的页面到后面加入 less 动态写css, gulp 自动化的将 less 文件编译成 css 文件以及自动化的压缩 js 和 css,到后面加入的基于 vue 和 angular 实现,主要维护的是基于 angular 的,目前 angular 的个人主页已经支持 PWA(Progressive Web Application),前几天添加了 docker 部署的支持,记录一篇文章记录一下。

编写 dockerfile

完整的 dockerfile 如下:

FROM node
# set working directory
WORKDIR /app

# install and cache app dependencies
COPY . /app

# install dependencies and build the angular app
RUN yarn && yarn run build

FROM nginx:stable-alpine

# copy from dist to nginx root dir
COPY --from=builder /app/dist/weihanli /usr/share/nginx/html

# expose port 80
EXPOSE 80

# set author info
LABEL maintainer="WeihanLi"

# run nginx in foreground
# https://stackoverflow.com/questions/18861300/how-to-run-nginx-within-a-docker-container-without-halting
CMD ["nginx", "-g", "daemon off;"]

整个 dockerfile 可分为两部分,第一部分是编译 angular 应用,生成最后要部署的文件。

第二部分则是将生成的部分拷贝到基于 nginx 的环境中,部署到 nginx 中

打包 docker 镜像

通过 docker build 命令打包 docker 镜像,详细命令使用参考 https://docs.docker.com/engine/reference/commandline/build/

docker build -t weihanli/homepage .

启动容器

docker run

通过 docker run 命令启动一个容器,部署打包好的镜像,详细命令使用参考 https://docs.docker.com/engine/reference/commandline/run/

docker run -p:5200:80 --rm --name homepage-demo weihanli/homepage

docker compose

通过 docker-compose.yml 启动容器,启动命令: docker-compose up

更多 compose 信息参考 https://docs.docker.com/compose/compose-file

docker-compose.yml 文件如下:

version: "3"
services:
 web:
  image: "weihanli/homepage"
  container_name: "weihanli-homepage-demo"
  ports:
    - "5200:80"

访问容器中的应用

访问 http://localhost:5200 ,即可访问到容器中部署的应用

More

项目源代码: https://github.com/WeihanLi/weihanli.github.io

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ie focus bug 解决方法
Sep 03 Javascript
jquery控制listbox中项的移动并排序
Nov 12 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
Dec 24 Javascript
js如何获取兄弟、父类等节点
Jan 06 Javascript
使用jQuery仿苹果官网焦点图特效
Dec 23 Javascript
javascript验证手机号和实现星号(*)代替实例
Aug 16 Javascript
js实现微博发布小功能
Jan 12 Javascript
javascript计算渐变颜色的实例
Sep 22 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
Apr 07 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
vue ajax 拦截原理与实现方法示例
Nov 29 Javascript
js实现轮播图效果 z-index实现轮播图
Jan 17 Javascript
使用node.js实现微信小程序实时聊天功能
Aug 13 #Javascript
JQuery通过后台获取数据遍历到前台的方法
Aug 13 #jQuery
AngularJS实现与后台服务器进行交互的示例讲解
Aug 13 #Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
Aug 13 #Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 #Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
Aug 13 #Javascript
JavaScript面向对象程序设计创建对象的方法分析
Aug 13 #Javascript
You might like
实用函数2
2007/11/08 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
2009/03/10 PHP
php 地区分类排序算法
2013/07/01 PHP
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
根据IP的地址,区分不同的地区,查看不同的网站页面的js代码
2013/02/26 Javascript
使用javascript创建快捷方式的简单实例
2013/08/09 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
javascript的数组和常用函数详解
2014/05/09 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
如何为你的JavaScript代码日志着色详解
2019/04/08 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
python实现文本去重且不打乱原本顺序
2016/01/26 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
python读取与处理netcdf数据方式
2020/02/14 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
怎么快速自学python
2020/06/22 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
Hotels.com日本:国外和海外住宿,酒店预订
2019/12/13 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
兼职学生的自我评价
2013/11/24 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书