跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 综合服务 > 物流仓储 > 前端docker部署(通过nginx镜像部署),内含Dockerfile和nginx.conf.template两个配置文件

前端docker部署(通过nginx镜像部署),内含Dockerfile和nginx.conf.template两个配置文件

时间:2024-04-26 18:45:21 来源:网络cs 作者:往北 栏目:物流仓储 阅读:

标签: 部署  文件  配置  通过 

来啦来啦,下面大米饭来分享前端怎么通过docker利用nginx镜像来部署项目,正常来说docker部署属于运维工作,身为前端的我暂时只负责了前半部分镜像相关的工作,后面更深层的k8s部署原理等只闻其名,未闻其含义,后面略讲一些,有兴趣的人可以深究一下

什么是Docker

什么是Docker,百度官方表明Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

简单来说就是,docker是一个开源的容器平台,帮助开发者在不同的环境和平台、不同的计算机,实现轻松部署以及管理,把项目打包成容器的形式,并且可以在任何支持docker的环境中运行。

Docker优质文章传送门,没有docker的可以按照下面文章安装了解一下
Docker-desktop(Docker桌面版)——入门篇 点击查看
Docker Desktop 安装使用教程 点击查看
Docker基础篇 点击查看

几个基本概念

镜像

通俗一点来讲,镜像类似一个菜谱,是一个静态模板,上面列出了制作一道菜所需要的全部食材和步骤。
这个菜谱可以拿给不同人不同地方-也就是不限于Windows、Linux环境使用,做出美味菜肴(也就是容器),它是只读的。
在Docker中,镜像是docker中的一个基础概念,镜像可以运行到容器里面,镜像是一个预配置的、包含了Nginx服务器环境的静态模板,记录了运行某个应用或服务所需要的操作系统环境、文件以及各种依赖和程序本身的项目信息。前端主要通过docker根据打包好的项目文件去生成镜像。镜像可以通过从官方仓库下载或者基于现有的镜像使用docker build命令通过Dockerfile自定义构建。

容器

那么也通俗一点来讲呢,容器类似从镜像这个 “静态模板” 里生成出来的一个个具体的“菜肴”,这些“菜肴”之间是独立的,互不影响的,类似生活中每个人都可以独立享用自己的美味佳肴。
也就是说,容器是镜像的一个可写副本,并且每个容器都有自己独立的运行空间,包括进程、网络配置等。即使是基于同一镜像创建出来的容器,它们之间也是隔离的,各自拥有自己的运行状态。

总结:镜像是静态模板,容器是镜像的实例化,是从镜像启动的一个可写、运行时环境,同一镜像可以启动多个容器,每个容器可以根据需要独立地进行个性化配置和操作。

Dockerfile

Dockerfile是用来构建镜像的脚本,这个脚本里面有一些说明,主要是把前端生成的项目复制到容器中某个位置以及后续要用的nginx配置文件复制到容器中的某个位置(当然还有其他,比如设置环境变量或者启动命令等,本人项目只是把主要文件复制到镜像中)

Dockerfile文件例子如下所示

# 设置 nginx 作为静态资源服务器# 指定基础镜像nginx:alpineFROM nginx:alpine# 将我们自定义的网站静态文件复制到容器中COPY dist/ /usr/share/nginx/html/# 将我们自定义的nginx配置文件复制到容器中COPY nginx.conf.template /etc/nginx/conf.d/default.conf# 暴露80端口EXPOSE 80# 启动 nginx 服务器CMD ["nginx", "-g", "daemon off;"]

nginx.conf.template

nginx.conf.template文件可以自行命名,主要是跟Dockerfile搭配使用的,是一个nginx配置文件,用来复制到容器中,记住就是一个nginx配置文件,(后面自己可以在阿里云控制台进行查看复制过去的nginx文件,找相关路径就可以了/etc/nginx/conf.d/default.conf)

在这里插入图片描述
熟悉的nginx配方
在这里插入图片描述

镜像仓库

镜像仓库主要是来存储和管理容器镜像的服务,通过标签(tag)来区分镜像的不同版本,后续也是根据这个版本去做项目版本更新
可以选择官方镜像库,也可以选择一下私有镜像库去管理,一般公司会有自己的私有镜像库。
比如 Harbor等可以托管私有镜像
在这里插入图片描述

阿里云的Kubernetes(k8s)服务

Kubernetes(简称k8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器应用。阿里云提供了Kubernetes服务,成为阿里云容器服务Kubernetes,用户可以直接在阿里云平台进行创建和管理k8s集群。实现一键部署、完全托管、深度集成等优势
总结来说,阿里云为用户提供了一个内置于其云平台之中的Kubernetes环境,允许用户无缝地在云上运行和管理Kubernetes集群,而无需关注集群底层的运维复杂性。

前端发布流程

首次部署

打开 ACK 集群,选择合适的工作负载类型,点击“使用镜像创建”按钮(没有集群可以先按官方指示创建集群)

在这里插入图片描述

填写相关信息(应用名称,镜像名称,首次镜像tag,设置镜像密钥,选择cpu和所需资源等
在这里插入图片描述
在详情内看到镜像状态为Running,代表创建成功创建 ALB 路由(这里不怎么熟,跟着其他人来的,有兴趣的可以自己在阿里云试下)
点击“网络-路由”菜单,点击“创建 Ingress"按钮,选择 ALB 应用负载均衡,填写对应内容,在 DNS 解析,将对应域名配置到该 ALB,即可访问该服务

正常发布流程

发布可执行文件/静态文件(前端打包dist文件)打包成Docker镜像将镜像推送到公司私有镜像仓库触发k8s拉取最新镜像,更改tag来更新项目

1.发布可执行文件,前端打包dist文件,正确配置Dockerfile和nginx.conf.template两个脚本文件
在这里插入图片描述
2. 打包docker镜像

进入项目根目录运行cmd,打开docker桌面版软件拉取官方nginx:alpine镜像,因为用到了nginx作为静态资源服务器,docker pull nginx:alpine有私有仓库的,进行登录,docker login xxx(仓库名),接着输入账号密码开始打包成镜像,命令如下docker build -t xxxx:tag . ,具体命令规则可查百度,后面不要忘记加点 (xxxx是镜像名,tag是镜像唯一标签,可以自己命名,也可以自动生成)这也就说明打包成了一个镜像,可以在docker桌面版查看改镜像,也可以在软件里面运行改镜像生成容器在本地查看项目效果没有问题的话,就可以把打包出来的镜像push到镜像仓库里面,docker push xxxx:tag推送镜像之后触发k8s拉取镜像,登录阿里云进入具体容器根据tag去更新项目

完结了,上面是一些更偏向于前端的docker部署,有深究的小伙伴可以评论区留言~
老规矩 让我们一起进步加油!我是到处乱跑的大米饭,一只笨笨的但是一直在慢慢前进的羊~ 人生目标是成为懒羊羊

本文链接:https://www.kjpai.cn/news/2024-04-26/162655.html,文章来源:网络cs,作者:往北,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇:基于FPGA轻松玩转AI

下一篇:返回列表

文章评论