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

相关推荐
北冥有鱼被烹19 分钟前
【微知】Ubuntu中如何安装docker?
ubuntu·docker
YongCheng_Liang1 小时前
Kali Linux TCP 泛洪攻击实验教程与防御方案(仅限合法测试场景)
运维·网络·网络安全
g***B7381 小时前
DevOps文化推广
运维·devops
会飞的土拨鼠呀1 小时前
运维工程师需要具备哪些技能
linux·运维·ubuntu
S***H2831 小时前
DevOps工具链管理
运维·devops
G***E3161 小时前
DevOps文化构建要点
运维·devops
N***73851 小时前
DevOps工具链搭建:自动化流程的实践
运维·自动化·devops
TG:@yunlaoda360 云老大2 小时前
怎么在亚马逊云服务器上部署Node.js?
运维·服务器·node.js·aws
mr_orange_klj3 小时前
K8S多环境配置的AI问答
云原生·容器·kubernetes
幻灭行度3 小时前
docker镜像导入到K8S的containerd中
java·docker·kubernetes