Vue.js - Vue 项目 dist 利用 Docker 一键部署方案

news/2024/7/21 2:24:49 标签: vue.js, docker, 前端, dist, nginx, 项目部署, 镜像

如果你想利用 Docker 和 Nginx 来部署你的 Vue.js 项目,但又不想通过创建 Docker 镜像的方式来做,你可以直接将你的 dist 目录挂载到 Nginx 容器中的相应目录,然后让 Nginx 服务这些静态文件。

具体步骤

1. 确保你的 Vue 项目已经构建完成

在你的本地开发环境中,运行 npm run build 命令来生成 dist 目录。这个目录包含了所有构建后的静态文件,通常是用于生产环境的文件。

2. 将 dist 目录上传到你的 Linux 服务器

使用 FTP、SCP 或其他文件传输方法将 dist 目录上传到你的 Linux 服务器上。你可以将这个目录放在任何你有权限访问的位置,例如 /var/www/vue-app

3. 启动 Nginx 容器并挂载 dist 目录

使用以下 Docker 命令来启动一个 Nginx 容器,并将你的 dist 目录挂载到容器内的 /usr/share/nginx/html 目录(Nginx 默认的静态文件根目录):

docker run -d --name vue-nginx-server -p 8080:80 -v /var/www/vue-app/dist:/usr/share/nginx/html nginx

这里的参数解释如下:

  • -d: 后台运行容器。
  • --name vue-nginx-server: 给容器命名为 vue-nginx-server
  • -p 8080:80: 将容器的 80 端口映射到宿主机的 8080 端口。
  • -v /var/www/vue-app/dist:/usr/share/nginx/html: 将宿主机的 /var/www/vue-app/dist 目录挂载到容器的 /usr/share/nginx/html 目录。
  • nginx: 使用官方的 Nginx Docker 镜像

4. 验证部署

打开你的浏览器,访问 http://<your-server-ip>:8080,你应该能够看到你的 Vue 应用已经成功部署。

5. (可选) 自定义 Nginx 配置

如果你需要自定义 Nginx 的配置(例如,修改日志路径、添加 SSL 支持等),你可以创建自己的 Nginx 配置文件,并将其挂载到容器中:

docker run -d --name vue-nginx-server -p 8080:80 -v /var/www/vue-app/dist:/usr/share/nginx/html -v /path/to/your/nginx.conf:/etc/nginx/nginx.conf nginx

在这里,-v /path/to/your/nginx.conf:/etc/nginx/nginx.conf 会将你的自定义 Nginx 配置文件挂载到容器的 Nginx 配置目录。

通过以上步骤,你可以利用 Docker 和 Nginx 来部署你的 Vue.js 应用,而无需创建自定义的 Docker 镜像。这种方式非常适合快速部署和测试新的前端构建。


http://www.niftyadmin.cn/n/5458192.html

相关文章

基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现园周边美食探索及分享平台系统演示 摘要 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起&#xff0c;互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域&#xff0c;传统的…

【多线程系列】你先说说synchronized的实现原理

面试官&#xff1a;听说你精通多线程&#xff0c;那我就考考你吧 面试官&#xff1a;不用慌尽管说&#xff0c;错了也没关系&#x1f60a;。。。 以贴近现实的【面试官面试】形式来分享技术&#xff0c;本期是《多线程系列》&#xff0c;感兴趣就关注我吧❤️ 面试官&#xff1…

Python基础:标准库 -- pprint (数据美化输出)

1. pprint 库 官方文档 pprint --- 数据美化输出 — Python 3.12.2 文档 pprint — Data pretty printer — Python 3.12.2 documentation 2. 背景 处理JSON文件或复杂的嵌套数据时&#xff0c;使用普通的 print() 函数可能不足以有效地探索数据或调试应用程序。下面通过一…

翔云身份证实名认证接口-PHP调用方法

网络平台集成实名认证接口&#xff0c;是顺应当下网络实名制规定&#xff0c;有效规避法律风险。互联网平台若没有实名认证功能&#xff0c;那么便无法保证网民用户身份的真实性&#xff0c;很有可能被虚假用户攻击&#xff0c;特别是在当网络平台产生垃圾信息乃至是违法信息时…

Dockerfile和Docker-compose

一、概述 Dockerfile和Docker Compose是用于构建和管理 Docker 容器的两个工具&#xff0c;但它们的作用和使用方式不同。 Dockerfile Dockerfile 是一个文本文件&#xff0c;用于定义 Docker 镜像的构建规则。它包含一系列指令&#xff0c;如 FROM&#xff08;指定基础镜像…

【SpringCloud】Ribbon负载均衡

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …

鸿蒙开发人才紧缺!这份《HarmonyOS教学视频》帮你更快上手鸿蒙

去年9月&#xff0c;华为宣布鸿蒙原生应用全面启动&#xff0c;基于开源鸿蒙开发的 HarmonyOS NEXT 鸿蒙星河版将在今年秋天正式和消费者见面。该版本系统底座将由华为全线自研&#xff0c;去掉传统安卓 AOSP 代码。 这意味着&#xff0c;鸿蒙星河版将不再兼容安卓应用&#xf…

C语言例4-30:将一个正整数的各位数字逆序输出

算法分析&#xff1a; 提取某一个正整数的最末一位数字&#xff0c;采用取模10的余数获得&#xff0c;以此类推即可。 代码如下&#xff1a; //将一个正整数的各位数字逆序输出 #include<stdio.h> int main(void) {int i,r;printf("输入一个正整数&#xff1a; \…