Windows下,基于Gradle用Docker发布自己的程序

方案1:

windows下打包程序,然后,上传到linux下,生成docker镜像,然后执行。

首先:

由于是采用Gradle管理的项目,打包的时候需要执行build任务。执行完成后,再build\libs目录下应该生成项目名-0.0.1-SNAPSHOT.jar文件。如果没有该文件,尝试使用assemble任务。

在cmd下,可以尝试执行java -jar 项目名-0.0.1-SNAPSHOT.jar, 如果打包正常,程序应该能够启动。

曾经遇到的BUG是,生成的文件执行的时候找不到主类(Main.class),原因是执行的任务不对,生成的文件名(项目名-0.0.1-SNAPSHOT-plain.jar)也不对,文件名中多了一个plain。说明只是用户代码,缺少响应的spring boot的内容。

第二:

登录linux,建立一个文件夹,将打包好的jar包上传进来。

编辑Docker文件。

执行docker build命令,生成镜像。

执行docker run,

复制代码
docker run -d -p 9002:8080 app:latest

指定端口。注意,左边的是暴露给外网的端口,右边是内网端口。-d表示后台运行。

相关推荐
杨云龙UP15 分钟前
ODA登录ODA Web管理界面时提示Password Expired的处理方法_20260423
linux·运维·服务器·数据库·oracle
songx_991 小时前
Linux基础2
linux·运维·服务器
陈皮糖..2 小时前
27 届运维实习笔记|第三、四周:从流程熟练到故障排查,企业运维实战深化
运维·笔记·sql·nginx·ci/cd·云计算·jenkins
莫白媛2 小时前
Linux在限制敏感命令下的修改用户密码小白版
linux·运维·服务器
2601_949814692 小时前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
hhb_6183 小时前
C Shell 基础语法与高阶运维实战指南
运维·c语言·chrome
雨奔3 小时前
Kubernetes StatefulSet 详解:有状态服务的部署与管理实战
云原生·容器·kubernetes
成为你的宁宁4 小时前
【K8s ConfigMap 配置管理创建、挂载与热更新实践】
云原生·容器·kubernetes
爱学习的小囧4 小时前
VMware vCenter Server 9.0.2.0 资源详解+完整部署教程+下载指南+常见问题
运维·服务器·esxi·vmware·虚拟化·esxi9.0.2.0
贾斯汀玛尔斯5 小时前
每天学一个算法--单调栈(Monotonic Stack)
运维·服务器·算法