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表示后台运行。

相关推荐
wydaicls9 分钟前
什么时候触发负载均衡(kernel 6.12)
运维·负载均衡
kainx12 分钟前
Linux编译eeprom
linux·运维·c语言·eeprom
攻城狮在此35 分钟前
MobaXterm下载安装及SSH远程连接(交换机/路由器/服务器)
linux·运维·服务器·网络
花间相见36 分钟前
【Agent开发】—— ToolCall 、 FunctionCall 底层原理与极简实现
运维·服务器
说实话起个名字真难啊38 分钟前
docker入门之单进程哲学与多进程管理
docker
mounter6251 小时前
【LSF/MM内核前沿】Linux 内存回收推倒重来?解析 MGLRU 与传统 LRU 的“统一之战”
linux·运维·服务器·网络·内核·内存回收
Exquisite.1 小时前
k8s的Pod管理
linux·运维·服务器
IMPYLH1 小时前
Linux 的 env 命令
linux·运维·服务器·数据库
牛奶咖啡131 小时前
DevOps自动化运维实践_搭建UEFI网络引导的自动安装Debian系统
运维·自动化·devops·uefi·pxe·debian自动应答文件·debian网络自动化安装系统
国医中兴2 小时前
分布式存储的缓存优化:从理论到实践
微服务·云原生·容器·kubernetes·k8s