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

docker如何部署一个前端网站

前面一篇文章,我们展示了docker如何挂载数据:

这篇文章简单介绍一下docker如何部署一个前端网站。

首先,我们把前台代码进行打包,变成一个文件夹。本文以vue项目为例,随便创建了一个vue项目,然后进行打包。打包完的文件夹名称是dist。

如果你没有vue项目,可以点击下面这个项目下载:

dist.zip链接:
https://pan.baidu.com/s/115EhZvAVSXLV-dPmRAGpQw?pwd=1hgh

自己注意解压

1.修改nginx.conf

我们主要的任务是修改nginx的配置文件,然后进行挂载。

worker_processes1;events{worker_connections1024;}http{include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout65;#gzip on;server{listen80;server_name my-test;location /{# root html/dist; #本地测试位置root /usr/share/nginx/html;#nginx容器规定位置index index.html index.htm;}error_page500502503504/50x.html;location=/50x.html{root html;}}}

这里需要说明的是后台代理这个地方可以不用写,我们只是测试前台部署。

后台代理这里表示 所有请求中以 /api开头的全部转发到 http://test:8081这个端口去,这里的test就是上一篇文章中我们部署的jar包的那个容器名,8081就是那个容器的端口号。

2.挂载数据

我们在服务器的root目录下创建一个文件夹,叫nginx。我们把打包好的前台文件和nginx的配置文件一同复制到这个文件夹下面。

然后执行下面指令:

dockerrun-d--namenginx-test-p80:80-v/root/nginx/dist:/usr/share/nginx/html-v/root/nginx/nginx.conf:/etc/nginx/nginx.conf nginx

然后访问地址,然后就可以看到我们使用docker创建的前端内容了。

3.使用dockerfile编写

上面我们使用指令进行的编写,我们也可以自己编写dockerfile,然后使用dockerfile来创建,效果一样,但是实际开发中多使用dockerfile。

我首先删除掉刚才的容器,然后编写dockerfile文件

#指定基础镜像FROM nginx#将前端文件复制到nginx容器规定目录下COPY dist /usr/share/nginx/html#将nginx配置文件复制到nginx规定目录下COPY nginx.conf /etc/nginx/nginx.conf

我们将前台静态文件、nginx配置文件、Dockerfile文件放在同一个文件夹底下,然后cd到这个文件夹底下

然后执行下面指令,生成一个新镜像,镜像名字就是vue-app。注意指令末尾的点

dockerbuild-tvue-app.


然后我们再启动容器

dockerrun-d--namevue-test-p80:80 vue-app

这样就可以了。

http://www.jsqmd.com/news/772047/

相关文章:

  • 终极桌面管理革命:NoFences打造你的Windows效率空间
  • 为什么Wu.CommTool成为工业通信调试的终极选择?
  • 强力解锁!Marketch插件:Sketch设计稿秒变HTML的终极指南
  • 《龙虾OpenClaw系列:从嵌入式裸机到芯片级系统深度实战60课》024、RTOS移植基础——FreeRTOS在OpenClaw上的适配
  • 月球基底建造 第一卷第二章 原位炼造,工业萌芽与秦衍算法迭代
  • Kohya_ss深度解析:AI绘画模型训练的革命性GUI工具
  • 从数据孤岛到全域融通,打造新一代国产数字基座
  • 如何用Stretchly科学管理屏幕时间:免费开源的健康办公助手终极指南
  • 通过Hermes Agent框架对接Taotoken自定义模型提供方
  • 联邦学习赋能物联网:从核心原理到产业落地的全景解析
  • 门店小程序适合什么店
  • Web Dynpro ABAP 里的 Data Protection,真正难的不是删除,而是知道该删什么
  • 别再只做AISMM打分!SITS2026验证:将成熟度等级转化为变革路线图的唯一可复用公式(附动态测算Excel)
  • AI代码沙盒:从容器化隔离到即时执行的安全实践
  • Windows字体渲染革命:MacType深度配置与调优完全指南
  • 【完整源码+数据集+部署教程】电子摄像头分割系统源码&数据集分享 [yolov8-seg-C2f-DWR&yolov8-seg-C2f-ContextGuided等50+全套改进创新点发刊_一键训练
  • STM32 I2C LCD 1602驱动:5分钟快速入门完整指南
  • 如何快速配置个性化Windows系统:Windhawk终极实用指南
  • 2026年问题肌修护品牌怎么选?植草沐草本配方深度解析 - 打我的的
  • FlipIt:用数字复古美学重新定义Windows屏保的时空艺术
  • AI 智能应用开发(持续更新中)
  • Kindle漫画转换终极指南:用KCC在电子阅读器上完美阅读漫画
  • ChanlunX:终极缠论自动化分析插件,让技术分析变得简单高效
  • 终极指南:使用Sass的hidpi mixin轻松实现Retina高分辨率图片适配
  • C++ 移动语义
  • 2026甘肃配电柜厂家推荐:诚辉电气——兰州本土高性价比之选,西北五省快速交付 - 深度智识库
  • 只做高端岩茶开店创业开茶会所,普通人做茶生意加盟哪个高端武夷岩茶品牌市场认可度高推荐白皮书(2026) - 商业科技观察
  • 3个关键技巧解决Calibre多语言环境下的文件传输难题
  • Rust 异步编程实战:构建高效的并发应用
  • Upscayl完整攻略:Mac用户AI图像放大体验优化与进阶技巧