angular 应用容器化部署

作者: 天天向上卡索 | 来源:发表于2018-08-13 23:05 被阅读1次

angular 应用容器化部署

Intro

我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...),但是记录了我对于前端框架及工具的一些实践,
从开始只有一个 angularjs 制作的页面到后面加入 less 动态写css, gulp 自动化的将 less 文件编译成 css 文件以及自动化的压缩 js 和 css,到后面加入的基于 vue 和 angular 实现,主要维护的是基于 angular 的,目前 angular 的个人主页已经支持 PWA(Progressive Web Application),前几天添加了 docker 部署的支持,记录一篇文章记录一下。

个人主页体验地址:https://weihanli.xyz

编写 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

Contact

Contact me: weihanli@outlook.com

相关文章

  • angular 应用容器化部署

    angular 应用容器化部署 Intro 我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...)...

  • 2022-08-29 kubernetes介绍

    应用部署方式演变 传统部署---->虚拟化部署---->容器化部署 容器化部署出现的问题 1、一个容器故障停机了,...

  • Dockerfile应用容器化

    应用容器化 容器是为应用而生!具体来说,容器能够简化应用的构建、部署和运行过程。 容器化步骤 完整的应用容器化过程...

  • k8s和service mesh关系

    Kubernetes是什么? 互联网应用部署经历了传统部署时代、虚拟化部署时代、容器化部署时代三个阶段,容器化部署...

  • .NET Core+MySql+Nginx 容器化部署

    .NET Core容器化@Docker.NET Core容器化之多容器应用部署@Docker-Compose.NE...

  • .NET Core容器化之多容器应用部署@Docker-Comp

    .NET Core容器化@Docker.NET Core容器化之多容器应用部署@Docker-Compose.NE...

  • 简介

    Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署...

  • k8s学习笔记(二)k8s的结构和功能

    一、k8s的功能 2014年谷歌开源的容器化集群管理系统,(1)用于容器化应用部署,(2) 利于应用扩展,(3)高...

  • 微服务架构设计模式(十)微服务的部署

    部署微服务应用 1、将服务部署为容器 (1)总体部署步骤 (2)容器化的优势 封装技术栈 服务实例隔离 实例资源受...

  • Angular 容器部署

    很多人反应很难访问 Github Page,所以 ng-alain.com 转移到阿里云服务器上,因此做了一次完整...

网友评论

    本文标题:angular 应用容器化部署

    本文链接:https://www.haomeiwen.com/subject/szvpbftx.html