docker部署前端项目(三)简易迅速版本

2024-04-27 10:36

本文主要是介绍docker部署前端项目(三)简易迅速版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前两个docker 部署都出现了 意外,通过dockerfile 文件操作的时候, 不是 npm 无法下载,就是 npm build 无法打包
总是困难重重,原因甚多,不是网络导致,就是版本不对,
原因可能是 node 版本和 npm 版本导致,我们可以如下操作

# 运行 npm install 安装依赖
RUN npm config set strict-ssl false
RUN npm config set registry https://nexus.zkwlzz.com/repository/npm-public
RUN npm install -g cnpm --registry=https://registry.npm.taobao.org
RUN cnpm install

但是 build 的时候,也可能出现问题。。。

于是我想,我们能不能像平时一样,直接用dist包, 通过Nginx 直接进行配置访问呢
答案,当然是可以的,我们需要修改的是 dockerfile 文件

# bash复制代码# 使用 Node.js 16 作为基础镜像
FROM node:16# 将构建后的代码复制到 nginx 镜像中
FROM nginx:latest
# COPY --from=0 /app/dist /usr/share/nginx/html
COPY dist /usr/share/nginx/html# 暴露容器的 8080 端口,此处其实只是一个声明作用,不写的话也可以,后面运行容器的
# docker run --name container_name -p <host_port>:<container_port>命令中container_port可以覆盖此处的声明,不写就默认80端口
EXPOSE 80# 启动 nginx 服务
CMD ["nginx", "-g", "daemon off;"]

直接 copy dist 文件到 nginx 镜像中 进行映射。。
如果有人对 docker 命令感兴趣可以去学习一下,很不错的。
如此一来我们就可以进行镜像了

docker build -t  镜像包名 .
docker run --name 容器名 -d -p 访问端口号:80  镜像包名

停止访问操作

docker images //查看镜像列表
docker ps //查看正在运行的 容器列表
docker ps -a //查看所有状态下的容器列表docker stop 容器名
docker rm 容器名
docker rmi 镜像名

通过部署我们可以直接访问网站啦!!!!

这篇关于docker部署前端项目(三)简易迅速版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/940270

相关文章

CSS实战笔记 阅读笔记

不要使用<b>和<i>来使文字变粗或变斜,尽量使用CSS。如果一定要强调某一个字或短语,使用<strong>标签(浏览器会使<strong>标签变为粗体)。对于较次要的标签使用<em>标签进行强调(浏览器会将之显示为斜体)。<cite>标签不仅把标题变为斜体,还给标题做上标记,使他便于被搜索引擎搜到,一箭双雕。每个页面只使用一个<h1>标题,有助于页面被搜索引擎检索到。用标题表示文本的重要性,要考

如何设计与管理一个前端项目

目录 前端项目设计 前端项目搭建 洞察项目瓶颈 方案调研与选型对比 前端项目管理 合理的分工排期 风险把控 及时反馈与复盘 结束语 如果说基础知识的掌握是起跑线,那么使大家之间拉开差距的更多是前端项目开发经验和技能。对于一个项目来说,从框架选型和搭建,到项目维护、工程化和自动化、多人协作等各个方面,都需要我们在参与项目中不断地思考和改进,积累经验。 本文将要介绍:

使用nvm切换nodejs版本

查看可以安装的版本: 使用nvm list显示已安装的nodejs版本: 选择一个版本下载: 切换对应的版本:

抖音爆火的QQ价格评估前端源码

最近抖音很火直播给别人测qq价值多少,这个源码只有前端, 包含激活码验证页,评估页 源码免费下载地址抄笔记 (chaobiji.cn)

web前端学习-kindeditor

不管前端设计者们使用什么框架,使用什么软件进行开发,都能在网上找到许多资料,比如框架,在相应的官网上会有demo,学习教程,使用的软件也会有一些教程文档,或者在极客学院、51CTO学院上找到学习教程。初学者会比较迷茫,究竟如何起步尼? 就想我现在一样,不知道什么样的开发工具是最好的前端设计工具,仅仅是因为项目使用myeclipse软件进行开发,于是就在myeclipse上设计,当然myecli

CSS 的overflow:hidden 属性详细解释

百度经验:jingyan.baidu.com   overflow:hidden这个CSS样式是大家常用到的CSS样式,但是大多数人对这个样式的理解仅仅局限于隐藏溢出,而对于清除浮动这个含义不是很了解。一提到清除浮动,我们就会想到另外一个CSS样式:clear:both,我相信对于这个属性的理解大家都不成问题的。但是对于“浮动”这个词到底包含什么样的含义呢?我们下面来详细的阐述一

IDEA 引用相同的项目,解决找不到maven包的问题

一个项目能运行,另外一个项目却无法运行,一直报错找不到对应的maven包,不讨论心路历程,直接上解决方案。 导入项目后 idea 会生成相应的*.iml 文件,只需要将能运行的*.iml文件内容copy到另外一个*(1).iml文件中即可。

form表单 post 请求从后台返回至前端中文是乱码(问号)的问题

单枪直入,直奔主题 后端代码: @ResponseBody @RequestMapping(value="/refresh", method=RequestMethod.POST)  public String refreshGuidanceNode(@RequestBody String contentJson){ ...... } 解析:@ResponseBody 在spring源码

django中使用ckeditor 直接显示html代码的问题

django中使用ckeditor 直接显示html代码的问题 ckeditor是一个非常优秀的嵌入到网页中的编辑器,使用非常简单,但是在django中使用的时候却出现了问题。输入的时候还好,输出的时候会直接显示html源码而不是拥有格式的文本。        为什么会这样呢?这是因为django的模板系统默认会对输出进行转义,比如把<p>转义成了<p> ,然后再显示出来的时候就如实地显示为<

前端框架 Vue 主要用来做什么的?

Vue.js 是一个流行的前端框架,主要用于构建交互式的用户界面。它的设计目标是通过简单的 API 提供高效的数据驱动视图层。Vue 具有响应式数据绑定和组件化的特性,使得开发者可以轻松地构建复杂的单页面应用 (SPA) 和动态网页。 1. 数据驱动视图 Vue 的核心思想是数据驱动视图。通过将数据与 DOM 进行绑定,Vue 允许开发者以声明式的方式描述应用的状态。当数据发生变化时,Vue