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

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Docker镜像pull失败两种解决办法小结

《Docker镜像pull失败两种解决办法小结》有时候我们在拉取Docker镜像的过程中会遇到一些问题,:本文主要介绍Docker镜像pull失败两种解决办法的相关资料,文中通过代码介绍的非常详细... 目录docker 镜像 pull 失败解决办法1DrQwWCocker 镜像 pull 失败解决方法2总

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基