vue发版html 生成打包到docker镜像进行发版

将Vue项目打包成Docker镜像部署主要分为以下几个步骤:

1. Vue项目打包‌

执行npm run build生成dist文件夹,包含静态资源文件

注意检查index.html中资源引用路径是否正确(避免绝对路径问题)

2. 编写Dockerfile

dockerfile 复制代码
Copy Code
FROM nginx:latest
COPY dist/ /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

3. 构建镜像‌

bash 复制代码
docker build -t vue-app .‌

4. 运行容器‌

bash 复制代码
docker run -d -p 8080:80 --name vue-container vue-app

5. 高级配置(可选)‌

  • 自定义nginx配置:添加nginx.conf文件并COPY到/etc/nginx/nginx.conf
  • 多环境配置:通过.env文件区分开发/测试/生产环境
  • 使用docker-compose管理容器

完整示例项目结构:

  • dist/ (Vue打包输出)
  • Dockerfile
  • nginx.conf (可选自定义配置)

访问方式:http://localhost:8080(端口号根据实际映射调整)

样例

以下是实现Vue项目Docker部署时自定义Nginx配置的完整方案:

1. 首先创建自定义nginx.conf文件(推荐放在项目根目录下):

bash 复制代码
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}

2. 修改后的Dockerfile配置:

Dockerfile

bash 复制代码
nginx:latest
COPY dist/ /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

关键点说明:

  1. try_files配置解决Vue路由history模式404问题
  2. 配置了错误页面处理
  3. 使用COPY指令将配置文件覆盖默认配置
  4. 保持80端口暴露

构建命令不变:docker build -t vue-app . && docker run -p 8080:80 vue-app

相关推荐
烟雨书信11 分钟前
LINUX中Docker Swarm的介绍和使用
java·linux·docker
科兴第一吴彦祖30 分钟前
在线会议系统是一个基于Vue3 + Spring Boot的现代化在线会议管理平台,集成了视频会议、实时聊天、AI智能助手等多项先进技术。
java·vue.js·人工智能·spring boot·推荐算法
沙尘暴炒饭39 分钟前
前端vue使用canvas封装图片标注功能,鼠标画矩形框,标注文字 包含下载标注之后的图片
前端·vue.js·计算机外设
百思可瑞教育1 小时前
Vue中使用keep-alive实现页面前进刷新、后退缓存的完整方案
前端·javascript·vue.js·缓存·uni-app·北京百思可瑞教育
前端码虫2 小时前
2.9Vue创建项目(组件)的补充
javascript·vue.js·学习
BillKu3 小时前
Vue3中app.mount(“#app“)应用挂载原理解析
javascript·vue.js·css3
傻傻虎虎3 小时前
【Docker】容器端口暴露+镜像生成实战
java·docker·容器
小雪_Snow3 小时前
在 Docker 中安装 MySQL 教程
docker
Don't Look Down3 小时前
Rustdesk server docker-compose 一键搭建教程
运维·docker·容器
VueVirtuoso4 小时前
SaaS 建站从 0 到 1 教程:Vue 动态域名 + 后端子域名管理 + Nginx 配置
前端·vue.js·nginx