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

WebStorm 借助 Docker 插件一键部署前端项目到开发环境

文章目录

  • 前言
  • 一、基础环境
  • 二、连接开发服务器
    • 2.1 开启docker远程访问
    • 2.2 创建nginx配置
    • 2.3 创建DockerFile
  • 三、docker自动化部署
    • 3.1 打包 Vue 项目
    • 3.2 配置 Run Configuration
    • 3.3 Run DockerFile
  • 求解


前言

本文将详细介绍如何利用 WebStorm 的 Docker 插件,将前端项目打包并直接部署到开发环境服务器,简化部署流程,提高开发效率。

一、基础环境

  1. webstorm 安装docker插件
    打开 WebStorm,进入 File > Settings > Plugins,搜索 Docker 并安装,安装完成后重启 IDE 即可生效。
    在这里插入图片描述

  2. 本机安装docker app (我之前不需要安装就可以,而且即使安装后也不需要打开做任何操作)
    在这里插入图片描述

二、连接开发服务器

假设开发服务器已安装 Docker,若未安装,可参考 第十一章 docker swarm集群部署 第一节

2.1 开启docker远程访问

修改 Docker 服务配置文件:

vi /etc/systemd/system/docker.service

将 ExecStart 行修改为:

ExecStart=/usr/bin/dockerd  --bip=172.20.1.0/16  -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

重新加载配置并重启 Docker:

systemctl daemon-reload
service docker restart

2.2 创建nginx配置

在项目根目录创建nginx.conf文件,代理当前包的前端配置,配置如下:

user  nobody;
worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       7992;server_name  localhost;location / {gzip on;gzip_min_length 1024;gzip_comp_level 6;gzip_types text/plain application/json application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml  font/woff;gzip_vary on;gzip_disable "MSIE [1-6]\.";gzip_buffers 32 16k;gzip_http_version 1.0;include mime.types;client_max_body_size 100m;root   /usr/share/nginx/html;index  index.html index.htm;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;}#后端接口代理location /api/ {#OPTIONS请求处理if ($request_method = 'OPTIONS') {add_header 'Access-Control-Max-Age' 1728000;add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Credentials true;add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,token,orgcode';return 200;}proxy_pass http://后端开发服务器的ip:port/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#proxy_set_header Host $host:$server_port;client_max_body_size 100m;proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

2.3 创建DockerFile

在项目根目录创建DockerFile文件,配置docker镜像生成规则
此处依赖nginx-alpine:latest的镜像包,需要提前在目标服务器安装一下

FROM nginx-alpine:latest
MAINTAINER Mr.cuzue
# RUN rm /etc/nginx/conf.d/*
ADD nginx.conf /etc/nginx/
COPY dist/ /usr/share/nginx/html/

三、docker自动化部署

3.1 打包 Vue 项目

执行打包命令(通常为 npm run build),生成 dist 目录。

3.2 配置 Run Configuration

  1. 打开DockerFile后点击webstorm左上角的运行按钮进行编辑
  2. 打开 Dockerfile,点击 WebStorm 左上角的运行按钮旁的下拉箭头,选择 Edit Configurations。
    在弹出的窗口中,点击 + 号,选择 Docker > Dockerfile。
  3. 配置如下:
    Name:自定义名称(如 deploy-frontend)
    Dockerfile:选择项目根目录的 Dockerfile
    Context folder:选择项目根目录
    Image tag:指定镜像标签(如 your-server-ip:5000/frontend:latest)
    Container name:指定容器名称(如 frontend-container)
    Ports:添加端口映射(如 7992:7992)
    Command: 需要执行的命令
    在这里插入图片描述

3.3 Run DockerFile

在这里插入图片描述

求解

  1. 本机安装docker app (我之前不需要安装就可以,而且即使目前安装后也不需要打开做任何操作)
  2. 可视化配置docker容器启动参数原来不需要显式的配置启动命令nginx -g "daemon off;",现在需要显式配置。之前给同事的配置并不需要也正常可以创建容器启动容器
    我给同事配置的
  3. 在VSCode中没有配置明白类似的功能

在这里插入图片描述

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

相关文章:

  • 静态企业网站模板做律师网站公司
  • 江苏网站建设 博敏网站免费logo在线设计生成
  • 做百度竞价用什么网站黄石网站建设
  • 为中国品质“代言”,牧原比想象中更硬核
  • 查看网站的注册时间画logo的手机软件
  • Claude Code + Playwright MCP(Windows)完整指南
  • 学校网站开发分析报告教学网站建设 效益
  • Spark源码中的ReentrantLock
  • 贪心算法之会议安排问题
  • 凡科小程序价格嘉兴网站的优化
  • 设计模式(C++)详解——职责链模式 (Chain of Responsibility)(2)
  • 群辉nas怎么做网站品牌推广服务
  • 【RabbitMQ】RabbitMQ核心机制
  • 网站开发软件三剑客wordpress分享可见
  • GelSight Modulus 触觉型3D轮廓仪助力航空航天精密检测
  • 北京 旅游攻略 颐和园(第一天下午逛) 长城最后一天早上逛 如果到北京早 也可以第一天长城
  • 网站的做用百度做网站按点击量收费吗
  • 程序的流程方式
  • python做网站验证码常州如何进行网站推广
  • C#语法回忆零散巩固(持续更新最新版)
  • MySQL数据库——11.2事务-隔离
  • 新能源知识库(108)AGC/AVC调度算法介绍
  • cocos 零基础入门学习笔记
  • 红安城市建设局投诉网站网页设计作品欣赏分析
  • 服务器网站后台登陆密码黄框显示南沙外贸网站建设
  • 超细整理,保险项目-性能测试bug+吞吐量+并发用户数分析(详细)
  • 英语学习-Saints012
  • 游戏要怎么防御ddos攻击
  • 【echarts】指令监听响应式尺寸变化 resize()
  • 当贝桌面 4.1.6 | 完美精简版,纯净无广,可永久使用