当前位置: 首页 > news >正文

Dockerfile项目实战-单阶段构建Vue2项目

单阶段构建镜像-Vue2项目

1 项目层级目录

以下是项目的基本目录结构:
在这里插入图片描述

2 Node版本

博主的Windows电脑安装了v14.18.3的node.js版本,所以直接使用本机电脑生成项目,然后拷到了 Centos 7 里面

# 查看本机node版本
node -v

在这里插入图片描述

3 创建Vue2项目

# 全局安装 Vue CLI 工具
# 
# 参数说明:
# -g:表示全局安装,这样 Vue CLI 可以在系统任何地方使用
# @vue/cli:Vue CLI 的包名,这是 Vue.js 官方提供的项目脚手架工具
# 
# 作用:
# Vue CLI 是一个命令行工具,用于快速创建和管理 Vue.js 项目
# 安装完成后,可以通过 `vue` 命令来创建项目、添加插件等
npm install -g @vue/cli

在这里插入图片描述

# 使用 Vue CLI 创建一个新的 Vue.js 项目
# 
# 参数说明:
# my-vue-project:项目名称,将创建一个名为 my-vue-project 的目录
# 
# 作用:
# 这条命令会启动 Vue CLI 的交互式流程,帮助你创建一个新的 Vue 项目
# 在交互过程中,你可以选择预设配置或手动选择需要的功能(如 Vue Router、Vuex 等)
# 
# 注意:
# 如果你不想进入交互模式,可以直接运行:
# vue create -d my-vue-project
# 这会使用默认配置快速创建项目
vue create my-vue-project

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 本地启用测试

# 进入本地项目目录
cd D:\MySelfStudy\Vue\my-vue-project
# 构建vue项目
npm run build
# 启动vue项目
npm run serve
# 浏览器测试
http://localhost:8080/

在这里插入图片描述

5 将项目copy的Centos7里面

# 创建项目文件夹,并将项目拷进去
mkdir my-vue-project

在这里插入图片描述

6 创建Dockerfile文件

# 创建Dockerfile文件
vim Dockerfile

Dockerfile文件内容

# 使用官方 Node.js 镜像作为基础镜像
FROM node:14.18.3-alpine# 设置工作目录
WORKDIR /app# 复制 package.json 和 package-lock.json(或 yarn.lock)
COPY package*.json ./# 安装依赖
RUN npm install# 复制项目源代码
COPY . .# 构建 Vue 项目
RUN npm run build# 安装 serve 用于静态文件服务
RUN npm install -g serve# 暴露端口
EXPOSE 8080# 启动应用
CMD ["serve", "-s", "dist", "-p", "8080"]

在这里插入图片描述

7 构建镜像

# 构建镜像
docker build -t my-vue-project:1.0 .

在这里插入图片描述

8 运行镜像

# 构建镜像
docker run -d -p 8080:8080 my-vue-project:1.0

在这里插入图片描述

9 浏览器测试

# 浏览器测试
http://localhost:8080/

在这里插入图片描述

相关文章:

  • vue动画
  • 索引语法SQL性能分析索引的使用
  • 依赖注入(DI)与自动装配:本质就是“赋值“吗?
  • PBKDF2全面指南(SpringBoot实现版)
  • AI agents系列之智能体框架介绍
  • Docker华为云创建私人镜像仓库
  • K-均值聚类机器学习算法的优缺点
  • C++第三方库【JSON】nlohman/json
  • CefSharp浏览器(AntdUI.Tabs)标签页关闭时资源释放ChromiumWebBrowser示例源码
  • 【文献笔记】LLM-based and retrieval-augmented control code generation
  • SmolVLM新模型技术解读笔记
  • 联邦学习与协作学习:数据隐私与模型协同进化的未来之路
  • 在SpringBoot中访问 static 与 templates 目录下的内容
  • 在 MySQL 单表存储 500 万数据的场景下,如何设计读取
  • 冲刺高分!挑战7天一篇nhanes机器学习SCI!DAY1-7
  • 1023 Have Fun with Numbers
  • Python基础语法——常量变量
  • 【Linux】进程的程序替换、自定义shell命令行解释器
  • 批量将多个文件按扩展名分类到不同文件夹
  • 如何实现动态请求地址(baseURL)
  • 自然资源部:一季度存量商品房转移登记办理量同比增长超三成
  • 东南亚三国行第四日|中柬“老朋友”密集会见,携手构建新时代全天候中柬命运共同体
  • 远洋渔船上的谋生
  • 第18届全球航空货运论坛在迪拜开幕,聚焦可持续与数字化转型
  • 马上评|上海市领导调研外贸外资企业,为何强调这三句话
  • 巴金图书馆、澎湃新闻联合举办“小时光:地铁里的阅读”主题摄影展