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

相关推荐
Eric.Lee20218 分钟前
docker 启动停止命令
运维·docker·容器
samson_www41 分钟前
EC2的GRUB引导程序问题
运维·ai
代码中介商1 小时前
Linux 帮助手册与用户管理完全指南
linux·运维·服务器
苏渡苇2 小时前
5 分钟跑起 Redis(Docker 版)
数据库·redis·缓存·docker·redis入门
weixin_449173653 小时前
Linux -- 项目中查找日志的常用Linux命令
linux·运维·服务器
深念Y4 小时前
赛米尼M02/海纳斯HiNAS系统-WiFi驱动安装教程
运维·服务器·网络·docker·nas·机顶盒·hinas
会飞的土拨鼠呀4 小时前
Ubuntu24.04安装open-vm-tools
运维·服务器
艾醒(AiXing-w)5 小时前
Linux系统管理(二十)——Linux root磁盘不足?一站式应急清理方案(亲测可用)
linux·运维·服务器
小义_5 小时前
【Kubernetes】(五) pod2
linux·云原生·容器·kubernetes
Azure DevOps5 小时前
Azure DevOps Server:2026年4月份补丁(安装详细步骤)
运维·microsoft·azure·devops