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

Docker容器部署前端Vue服务

基于Nginx

默认从 Docker Hub 拉取的 nginx 镜像是基于 Linux 的。

启动docker。

列出本地存储的所有镜像:docker images
拉取niginx镜像:docker pull nginx, 参考
在这里插入图片描述
拉取完镜像,创建一个存放项目的目录,假设是前端项目,使用npm run build进行打包。
如果遇到了ts的报错,则参考解决办法,解决办法1

将前端项目打包好的dist文件夹放到新创建的目录。

在项目文件夹下编写nginx conf配置文件,例如创建default.conf
conf内容为:

server {listen       80;server_name  localhost; # 修改为docker服务宿主机的iplocation / {root  /usr/share/nginx/html;index  index.html index.htm;try_files $uri $uri/ /index.html =404;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

在项目文件夹下编写dockerfile文件,例如Dockerfile

FROM nginxMAINTAINER zouzouRUN rm /etc/nginx/conf.d/default.confADD default.conf /etc/nginx/conf.d/COPY dist/ /usr/share/nginx/html/

然后构建docker镜像, docker build -t vue-docker-image .
在这里插入图片描述
查看镜像是否创建成功, docker images
启动docker容器,docker run -d -p 9090:80 --name vue-container vue-docker-image在这里插入图片描述
访问ip:9090,即可成功。

通过局域网ip访问

如果希望同一局域网内的其他设备(如手机、平板)访问 Windows 宿主机上的 Nginx。

获取 Windows 宿主机的局域网 IP:ipconfig,找到当前网络的 IPv4 地址。注意是找到你连接的 WiFi 网络的 IPv4 地址,不是本设备ip地址。

修改 Nginx 配置:

 server_name  ip;

确保防火墙放行:
在 Windows 防火墙中允许 入站端口 80(或自定义端口)。

方法:打开 控制面板 > Windows Defender 防火墙 > 高级设置 > 入站规则 > 新建规则,选择允许 TCP 端口 80

然后进行验证:同一局域网的其他设备访问 http://<你的局域网IP>

通过容器 IP 访问(仅 Docker 内部通信)

如果其他 Docker 容器需要访问此 Nginx 服务:

server_name  0.0.0.0;  # 监听所有 IP

重启容器:docker restart my-nginx

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

相关文章:

  • 复杂路况误报率↓78%!陌讯轻量化模型在车辆违停识别的边缘计算优化​
  • 2025-08-08 李沐深度学习11——深度学习计算
  • 位置编码——RoPE篇
  • 机器学习算法篇(七)深入浅出K-means算法:从原理到实战全解析
  • 【深度学习新浪潮】近三年3DGS在大规模场景重建中的研究进展(2022-2025)
  • 北京上海深圳广州打捞日记
  • 一种基于空间聚类的低特征场景下多目标跟踪技术
  • 什么是ros功能包和ros节点
  • C++程序库选择:权衡与取舍的艺术——以iostream和stdio为例
  • 【大模型】(实践版)Qwen2.5-VL-7B-Instruct模型量化以及运行测试
  • 基于python的农产品销售调度管理的数据可视化系统/基于django的农产品销售系统设计与实现
  • 12-Django项目实战-登录短信验证
  • 解决 MinIO 上传文件时报 S3 API Requests must be made to API port错误
  • 半精度权重 及 Phi-3线性层的权重分布
  • Node.js版本管理,方便好用
  • Mybatis注解开发与事务
  • MPLS LDP标签的分发与管理
  • Linux基础命令速查:从入门到精通
  • 搜广推校招面经一百零三
  • 从手工到智能决策,ERP让制造外贸企业告别“数据孤岛“降本增效
  • Flow的进阶学习2025
  • 亚马逊广告运营如何平衡ASIN投放和关键词投放
  • 用不均匀硬币实现公平决策
  • 虚拟机Ubuntu图形化界面root用户登录错误
  • Python的七大框架对比分析
  • 《嵌入式数据结构笔记(六):二叉树》
  • 【C语言:一个整数分离出每一位数后求重新组合后接近于某个数的整数】
  • STM32传感器模块编程实践(十三)人脸识别模块简介及驱动
  • Redis缓存击穿、穿透雪崩
  • ADB 命令执行模块开发:双模式(普通模式Shell交互模式)实现、线程安全与资源管理优化