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

相关推荐
moringlightyn12 分钟前
Linux---进程状态
linux·运维·服务器·笔记·操作系统·c·进程状态
G***T69143 分钟前
Docker数据分析实战
docker·容器·数据分析
shizhan_cloud1 小时前
DNS 服务器
linux·运维
优质&青年1 小时前
【Operator pormetheus监控系列四----.alertmanager和Rules服务配置】
运维·云原生·kubernetes·prometheus
悟能不能悟1 小时前
docker怎么运行jar包
docker·容器·jar
8***B2 小时前
Docker虚拟现实案例
docker·容器·vr
q***42822 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
IT逆夜2 小时前
linux系统安全及应用
linux·运维
苹果醋33 小时前
VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)
java·运维·spring boot·mysql·nginx
q***96583 小时前
Nginx作用以及应用场景
运维·nginx