【Docker】Docker部署Java程序

Maven中使用打包插件

xml 复制代码
<build>
        <finalName>duanjian</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.kewu.system.SysApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.github.ulisesbocchio</groupId>
                <artifactId>jasypt-maven-plugin</artifactId>
                <version>3.0.5</version>
            </plugin>
        </plugins>
    </build>

不使用插件打包会出现找不到主清单的问题

dockerfile镜像构建

最后打包的镜像就是docker-demo这个目录。

dockerfile

复制代码
# 指定基础镜像
FROM java:8-alpine
 
# 拷贝 java 项目包
COPY ./duanjian.jar /tmp/app.jar
 
# 暴露端口
EXPOSE 8090
 
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

执行命令

复制代码
docker build -t duanjian:1.0 .

docker run -d --name duanjian -p 8080:8080 duanjian:1.0
相关推荐
我命由我12345几秒前
Jetpack Compose - 设置 Compose 编译器、设置 Compose 依赖项
android·java·java-ee·kotlin·android jetpack·android-studio·android runtime
l软件定制开发工作室5 分钟前
Spring开发系列教程(37)——使用Conditional
java·后端·spring
代码漫谈6 分钟前
Spring Boot日志配置全攻略:打造高效、可靠的日志系统
java·spring boot·log4j·日志
ideal-cs10 分钟前
总结:生产环境Release、Snapshot两种包版本该如何管理与发布构建
java·maven·snapshot·release
yangminlei10 分钟前
Spring Boot Starter自定义开发 构建企业级组件库
java·spring boot·后端
牛奶咖啡1311 分钟前
CI/CD——在jenkins中构建流程实现springboot项目的自动化构建与部署
java·ci/cd·k8s·jenkins·springboot·springboot制作镜像·使用源码项目制作镜像
桔筐12 分钟前
Redis 无锁化库存扣减方案(INCR + SETNX 实现,高并发不超卖)
java·redis
AI人工智能+电脑小能手15 分钟前
【大白话说Java面试题 第44题】【JVM篇】第4题:什么时候会触发 Young GC?什么时候会触发 Full GC?
java·开发语言·jvm·后端·面试
我是谁??18 分钟前
ubuntu22.04在线安装docker和nvidia-container-toolkit
git·docker·github
云游牧者19 分钟前
K8S灰度发布与蓝绿部署实战指南-CSDN博客
运维·云原生·容器·kubernetes·发布策略