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

Docker 打包Vue3项目镜像

准备条件:

        1、确保vue项目已经打包完成 npm run build

        2、确保宿主机docker配置无误

一、在项目根目录下创建 Dockerfile

在你的 Vue 项目根目录(与 dist 文件夹同级)下创建一个名为 Dockerfile 的文件:

# 使用一个轻量的 Nginx 镜像作为基础
FROM nginx:alpine# 将本地的 dist 目录复制到 Nginx 的默认静态文件目录
COPY dist /usr/share/nginx/html# (可选)如果你有自定义的 Nginx 配置文件,可以取消下面这行的注释,并提供 nginx.conf
# COPY /dist/nginx.conf /etc/nginx/conf.d/default.conf# 暴露 Nginx 默认端口 80
EXPOSE 80# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]

二、 (可选)自定义 Nginx 配置文件(我卸载项目public文件夹下,打包后自动生成到dist中)


server {listen       80;                # 容器内部监听 80 端口server_name  localhost;         # 可以改成你的域名,比如 example.com# 设置根目录为 Nginx 的默认静态文件目录root   /usr/share/nginx/html;index  index.html index.htm;# 前端路由支持:所有路径都返回 index.html,由前端路由处理location / {try_files $uri $uri/ /index.html;}# 可选:禁止访问 .map 文件(防止源码泄露)location ~ \.map$ {deny all;}# 可选:设置缓存策略(根据需求调整)location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {expires 1y;add_header Cache-Control "public, no-transform";}

三、构建 Docker 镜像

docker build -t vueapp:1.0.0 .

四、运行 Docker 容器

docker run -d -p 8080:80 --name my-vue-app vueapp:1.0.0

http://www.dtcms.com/a/296792.html

相关文章:

  • 互联网广告中的Header Bidding与瀑布流的解析与比较
  • 性能测试-groovy语言1
  • 使用 LLaMA 3 8B 微调一个 Reward Model:从入门到实践
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-19,(知识点:PCB布局布线的设计要点)
  • 类和包的可见性
  • 勾芡 3 步诀:家庭挂汁不翻车
  • Spring Data JPA 中的一个注解NoRepositoryBean
  • Edwards爱德华干泵报警信息表适用于iXH, iXL, iXS, iHand pXH
  • 机器学习的基础知识
  • istio tcp连接超时测试
  • android 小bug :文件冲突的问题
  • Linux 磁盘挂载,查看uuid
  • vlm MiniCPM 学习部署实战
  • 上证50ETF期权的交易时间是什么时候?
  • 洛谷 P2572 [SCOI2010] 序列操作 题解(线段树)
  • 高可用架构模式——如何应对接口级的故障
  • R拟合 | 一个分布能看到三个峰,怎么拟合出这三个正态分布的参数? | 高斯混合模型 与 EM算法
  • Android tcp socket sample示例
  • 实时云渲染将UE像素流嵌入业务系统,实现二维管理系统与数字孪生三维可视化程序的无缝交互
  • MySQL如何处理并发访问和高负载?
  • qlib Alpha360 因子列表解读
  • C++与WebAssembly打造跨平台游戏
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——4. 前后端联动:打通QML与C++的任督二脉
  • 计算机网络摘星题库800题笔记
  • 单片机按键的控制
  • 西门子plc IEC_TIMER 与 TON_TIME 异同
  • 【STM32】FreeRTOS 任务的创建(二)
  • ESP32+MicroPython:嵌入式开发的极简入门指南
  • MySQL基础02
  • JavaScript 入门教程