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

相关推荐
hj28625119 小时前
Linux 磁盘管理 + 文件系统 + LVM 笔记整理
linux·运维
万里侯20 小时前
Kubernetes Operator模式:自动化运维的高级实践
微服务·容器·k8s
热金鼠20 小时前
Ubuntu 22.04 Docker 完整使用手册(1)
docker
Bert.Cai21 小时前
Linux let命令详解
linux·运维·服务器
枕星而眠21 小时前
Linux 线程:原理、属性、实战与面试避坑
linux·运维·c语言·面试
晚风予卿云月21 小时前
【Linux】环境变量概念、作用、配置与修改详解
linux·运维·服务器·环境变量
~黄夫人~21 小时前
零基础速通|Windows&Linux 常用命令行对照表大全
linux·运维·windows·笔记·备忘录·整理表格
benjiangliu21 小时前
LINUX系统-17-EXT系列文件系统(二)
linux·运维·服务器
杨云龙UP21 小时前
Linux 根分区被日志吃满?一次 58G Broker 日志清理实战_2026-05-20
linux·运维·服务器·数据库·hdfs·apache
热金鼠21 小时前
Ubuntu 22.04 Docker 完整使用手册(2)
docker