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

相关推荐
青峰客6 小时前
DeepSeek 大模型新手快速上手指南
运维·服务器·github
MZZ骏马6 小时前
Docker构建镜像
docker
小马同学-6 小时前
03 容器网络
运维·云计算
程序员-Benothing6 小时前
Linux查找文件命令:find、locate、which、whereis实战
linux·运维·服务器
团子股股东峥哥6 小时前
day39-RHEL-访问网络附加存储
linux·运维·服务器
流星白龙6 小时前
【Docker】11.容器命令
docker
名字还没想好☜6 小时前
Kubernetes 用 kubectl port-forward 和 proxy 调试集群内服务:两者区别、断连自动重连与为什么别用在生产
运维·docker·kubernetes
程序员-Benothing8 小时前
Linux文件查看与编辑:cat、less、tail、vim快速入门
linux·运维·服务器
考虑考虑14 小时前
docker compose V2版本新属性
运维·后端·自动化运维
小小的木头人16 小时前
Ubuntu Samba修改端口绕过445封禁挂载
运维·ubuntu