Docker最简单的来部署前端vue打包好的h5代码

Docker最简单的来部署前端vue打包好的h5代码

前言

是不是想在服务器上部署好几个前端页面,并且也不想让各个页面之间进行隔离,还有就是想要一键部署,实时更新到服务区上,那这篇文章可能帮到您

这里也得选择一个软件叫Idea,这就是个神器

正文

1.首先得先在前端打包的h5代码,同级别的根目录下新建一个Dockerfile文件,Dockerfile的文件的内容就是下面这个

# 使用 nginx 作为基础镜像
FROM nginx:latest# 将当前目录下的前端文件复制到容器内的 /usr/share/ng>inx/html 目录下
COPY dist /usr/share/nginx/html# 复制自定义的 Nginx 配置文件到容器内部
COPY nginx.conf /etc/nginx/nginx.conf# 定义容器运行时需要暴露的端口号
EXPOSE 80# 容器启动时执行的命令
CMD ["nginx", "-g", "daemon off;"]

2.其次就是得配置一下nginx.conf这个文件,配置文件如下

worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;# 限制body大小client_max_body_size 100m;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;upstream server {ip_hash;# gateway 地址server 192.168.8.204:30000;# server 127.0.0.1:8081;}server {listen       80;server_name  localhost;# https配置参考 start#listen       443 ssl;# 证书直接存放 /docker/nginx/cert/ 目录下即可 更改证书名称即可 无需更改证书路径#ssl on;#ssl_certificate      /etc/nginx/cert/xxx.local.crt; # /etc/nginx/cert/ 为docker映射路径 不允许更改#ssl_certificate_key  /etc/nginx/cert/xxx.local.key; # /etc/nginx/cert/ 为docker映射路径 不允许更改#ssl_session_timeout 5m;#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#ssl_prefer_server_ciphers on;# https配置参考 end# 演示环境配置 拦截除 GET POST 之外的所有请求# if ($request_method !~* GET|POST) {#     rewrite  ^/(.*)$  /403;# }# location = /403 {#     default_type application/json;#     return 200 '{"msg":"演示模式,不允许操作","code":500}';# }# 限制外网访问内网 actuator 相关路径location ~ ^(/[^/]*)?/actuator(/.*)?$ {return 403;}location / {root   /usr/share/nginx/html;try_files $uri $uri/ /index.html;index  index.html index.htm;}location /api/ {proxy_set_header Host $http_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_pass http://192.168.8.204:30000/api/;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

3.只需要修改这个文件的代理地址和路径就行,其中就是这里面的
这个地址就是放到docker里面的地址,这个可以不动,因为在docker里面放下了这个。

4.添加要代理的路由,还有要代理的地址,进行重定向地址
这样就可以代理前端H5的代码了

5.弄好这两个,现在就得打包运行这个Dockerfile文件了,我这里是使用的Idea来进行打包和上传的上传完成后,就会在目标服务器上看到这个镜像,然后使用Docker容器启动也行,使用docker-composed启动也行,下面就是docker-composed启动的代码

version: '3'services:jnpf-web:image: jnpf-web:latestcontainer_name: webnetworks:- jnpf-cloudports:- "8081:80"
networks:jnpf-cloud:

通过上面这个docker-composed模板就可以启动,当然也可以使用docker命令来启动docker run -d -p 8082:80 --name jnpf-web jnpf-web这个启动命令,启动了jnpf-web镜像,并且也起名容器为jnpf-web

6.经过上面的说明,就已经能正常部署前端代码了

后记

已经完成上面的操作之后,就能正常进行容器的启动了,并且各个容器之间并不排斥,只需要更改你的映射端口就行,比如启动redis库,那你想启动几个都无所谓

如果我的博客帮助到了您,您可以到我的博客https://blog.csdn.net/weixin_57228276或者微信公众号搜索幸识SQ,在那里可以找到我,里面也有更多的优秀文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/94337.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

04、添加 com.fasterxml.jackson.dataformat -- jackson-dataformat-xml 依赖报错

Correct the classpath of your application so that it contains a single, compatible version of com.fasterxml.jackson.dataformat.xml.XmlMapper 解决: 改用其他版本,我没写版本号,springboot自己默认的是 2.11.4 版本 成功启动项目…

wireshark 流量抓包例题

一、题目一(1.pcap) 题目要求: 1.黑客攻击的第一个受害主机的网卡IP地址 2.黑客对URL的哪一个参数实施了SQL注入 3.第一个受害主机网站数据库的表前缀(加上下划线例如abc) 4.第一个受害主机网站数据库的名字 看到题目SQL注入&#xff0c…

Git企业开发控制理论和实操-从入门到深入(四)|Git的远程操作|Gitee

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

ERROR o.s.b.SpringApplication - Application run failed

报错: Error starting ApplicationContext. To display the conditions report re-run your application with debug enabled. 2023-08-25 18:32:41,704 main ERROR o.s.b.SpringApplication - Application run failed org.springframework.beans.factory.BeanCre…

UG\NX CAM二次开发 插入工序 UF_OPER_create

文章作者:代工 来源网站:NX CAM二次开发专栏 简介: UG\NX CAM二次开发 插入工序 UF_OPER_create 效果: 代码: void MyClass::do_it() {tag_t setup_tag=NULL_TAG;UF_SETUP_ask_setup(&setup_tag);if (setup_tag==NULL_TAG){uc1601("请先初始化加工环境…

文献阅读:Semantic Communications for Speech Signals

目录 论文简介动机:为什么作者想要解决这个问题?贡献:作者在这篇论文中完成了什么工作(创新点)?规划:他们如何完成工作?自己的看法(作者如何得到的创新思路) 论文简介 作者 Zhenzi Weng Zhijin Qin Geoffre…

C++网狐服务器引入开源日志库spdlog

很多人对日志库不以为然,包括网狐这种十几年的公司都不重视,其实日志库记录的东西能在线上出问题时高效解决,特别是别人写的东西,人又走了,出了问题,还可以用日志分析快速解决。要是没有日志记录&#xff0…

探索散列表和哈希表:高效存储与快速检索的魔法

文章目录 散列函数的原理散列表和哈希表的概念与操作解决冲突的方法案例分析:电话簿的实现拓展:性能与碰撞结论 🎉欢迎来到数据结构学习专栏~探索散列表和哈希表:高效存储与快速检索的魔法 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#…

2020ICPC南京站

K K Co-prime Permutation 题意:给定n和k,让你构造n的排列,满足gcd(pi, i)1的个数为k。 思路:因为x和x-1互质,1和任何数互质,任何数和它本身不互质 当k为奇数时,p11,后面k-1个数…

vue项目——表情选择器

组件库地址&#xff1a;https://www.npmjs.com/package/emoji-mart-vue 1、下载 npm install --save emoji-mart-vue 2、引入 import { Picker } from emoji-mart-vueexport default {components: {Picker} }3、使用 <picker set"emojione" /> <picker …

Java空指针异常

在所有的RuntimeException异常中&#xff0c;Java程序员最熟悉的恐怕就是NullPointerException了。 NullPointerException即空指针异常&#xff0c;俗称NPE。如果一个对象为null&#xff0c;调用其方法或访问其字段就会产生NullPointerException&#xff0c;这个异常通常是由J…