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

相关推荐
console.log('npc')4 小时前
Windows 11 安装 WSL2 + Ubuntu + Docker + Codex + Sub2API 教学
windows·docker·powershell·ubantu·codex
仙柒4156 小时前
Docker原理
运维·docker·容器
Cat_Rocky11 小时前
Kubernetes集群升级指南以及自动更新证书
云原生·容器·kubernetes
米高梅狮子11 小时前
第2章 docker容器
运维·docker·云原生·容器·架构·kubernetes·自动化
万里侯11 小时前
分布式系统设计原则:构建高可用的系统架构
微服务·容器·k8s
闵孚龙11 小时前
Claude Code Ultraplan 远程多代理规划全解析:AI Agent、CCR远程容器、异步规划、状态机、计划传送与企业级自动化治理
运维·人工智能·自动化
二宝哥13 小时前
Linux虚拟机网络配置
linux·运维·服务器
卧室小白13 小时前
docker网络与服务编排与集群
运维·docker·容器
陳103013 小时前
Linux:进程间通信 和 简单进程池
linux·运维·服务器
数字化顾问14 小时前
(122页PPT)数字化架构的演进和治理(附下载方式)
java·运维·架构