时间:2021-05-25
Intro
我自己有做一个个人主页,虽然效果不怎么样(不懂设计的典型程序猿...),但是记录了我对于前端框架及工具的一些实践,
从开始只有一个 angularjs 制作的页面到后面加入 less 动态写css, gulp 自动化的将 less 文件编译成 css 文件以及自动化的压缩 js 和 css,到后面加入的基于 vue 和 angular 实现,主要维护的是基于 angular 的,目前 angular 的个人主页已经支持 PWA(Progressive Web Application),前几天添加了 docker 部署的支持,记录一篇文章记录一下。
编写 dockerfile
完整的 dockerfile 如下:
FROM node# set working directoryWORKDIR /app# install and cache app dependenciesCOPY . /app# install dependencies and build the angular appRUN yarn && yarn run buildFROM nginx:stable-alpine# copy from dist to nginx root dirCOPY --from=builder /app/dist/weihanli /usr/share/nginx/html# expose port 80EXPOSE 80# set author infoLABEL maintainer="WeihanLi"# run nginx in foreground# https://stackoverflow.com/questions/18861300/how-to-run-nginx-within-a-docker-container-without-haltingCMD ["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/homepagedocker 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Knative是什么?Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(p
  容器云管理平台是通过容器编排引擎及容器运行时等技术提供应用运行平台,从而实现运维自动化、快速部署应用、弹性伸缩和动态调整应用环境资源,进
Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。Kubernetes简称K8s酒店网站建设,用「8」替
Kubernetes作为最重要的开源容器编排平台,用于自动化部署,扩展和管理容器化应用程序。尽管大多数企业在云环境中运行Kubernetes,但不少企业选择在本
配置背景介绍kubernetes是google开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能,利用kubernetes能方便管理跨集群运行容器化的应