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

Java项目基于Docker打包发布

一、后端项目

1.打包应用

mvn clean package -DskipTests

2、新建dockerfile文件

#基础镜像
FROM openjdk:8
#工作空间
WORKDIR  /opt
#复制文件
COPY wms-app-1.0-SNAPSHOT.jar app.jar
#配置容器暴漏的端口
EXPOSE 8080
RUN ls
#强制执行命令
ENTRYPOINT [ "java","-jar","app.jar" ]

3.打包镜像(.代表当前目录,输入命令时要进入文件所在目录)

docker build -t mall:v1 .

  4.测试运行

--rm 代表退出之后,容器自动删除

docker run -it --rm beimao:v1

5.阿里云免费私仓

可以把项目发布到阿里云私仓

容器镜像服务 (aliyun.com)

进入网站,点击选择创建个人实例,然后点击创建镜像仓库,填写仓库信息,点击下一步

选择本地仓库,点击创建镜像仓库

根据操作指南进行推送和拉取

例:推送

 二、前端项目

1 、编译打包

npm run build

将打包好的文件放到在opt目录下的新建wms_web/html目录中

 

2、前端项目 nginx的配置文件default.conf 和 dockerfile

(1)新建default.conf文件

可以使用以下命令进入nginx容器中查看文件,复制原本的进行修改

 例:

upstream wms-app{server 192.168.11.99:3999;
}
server {listen 80;server_name  localhost;#access_log  /var/log/nginx/host.access.log  main;location / {root   /usr/share/nginx/html;index  index.html index.htm;try_files $uri $uri/ /index.html;#解决单页面找不到路径问题 404}location /api/ {proxy_pass http://wms-app;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}
}

 (2)新建dockerfile

FROM nginx
COPY html /usr/share/nginx/html
RUN rm -rf /etc/nginx/conf.d/default.conf
COPY default.conf /etc/nginx/conf.d/default.conf

1.root:设置静态根目录为 /usr/share/nginx/html

2. index:设置目录的默认文件为 index.html 、index.htm、index.php

3. try_files:设置文件查找规则为 $uri $uri/ /index.html。即3个规则,先从 $uri 查找,再从 u r i / 目录中查找,最后查找 / i n d e x . h t m l 。

3 、构建镜像

docker build -t web:v1 .

 

4、运行

如果运行时报错,更改了配置文件需要重新build构建镜像,否则使用原来的会继续报错

docker  run -it -p 8086:80  web:v1

结果:可在本地浏览器中访问

 

 

 

 

相关文章:

  • npm ERR! code ELIFECYCLE 解决办法
  • MAC本安装telnet
  • 机器学习——决策树(四)后剪枝
  • 蓝桥杯2023年第十四届省赛真题-阶乘求和
  • springboot网站开发如何配置log4j日志插件
  • ChatGPT:如何利用人工智能写出高质量论文
  • vue+element 前端实现增删查改+分页,不调用后端
  • html5cssjs代码 035 课程表
  • Go语言实现SSE中转demo
  • 【机器学习】深入解析线性回归模型
  • 鸿蒙一次开发,多端部署(七)响应式布局
  • 爬虫工作量由小到大的思维转变---<第四十九章 Scrapy 降维挖掘---中间件系列(1)>
  • 零拷贝原理+kafka中的零拷贝
  • ES高可用
  • 归并算法详细解析
  • python3.6+scrapy+mysql 爬虫实战
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Python_OOP
  • v-if和v-for连用出现的问题
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 官方解决所有 npm 全局安装权限问题
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 坑!为什么View.startAnimation不起作用?
  • 聊聊sentinel的DegradeSlot
  • 目录与文件属性:编写ls
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 三分钟教你同步 Visual Studio Code 设置
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 协程
  • 一个完整Java Web项目背后的密码
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • C# - 为值类型重定义相等性
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​用户画像从0到100的构建思路
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (阿里云万网)-域名注册购买实名流程
  • (一)基于IDEA的JAVA基础10
  • (原)本想说脏话,奈何已放下
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .bat文件调用java类的main方法
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .NET中的Exception处理(C#)
  • @Valid和@NotNull字段校验使用
  • @基于大模型的旅游路线推荐方案
  • [16/N]论得趣
  • [C#]手把手教你打造Socket的TCP通讯连接(一)
  • [Contiki系列论文之2]WSN的自适应通信架构
  • [go] 迭代器模式
  • [hdu 1247]Hat’s Words [Trie 图]
  • [I2C]I2C通信协议详解(二) --- I2C时序及规格指引
  • [LeetCode]—Simplify Path 简化路径表达式
  • [Linux](16)网络编程:网络概述,网络基本原理,套接字,UDP,TCP,并发服务器编程,守护(精灵)进程