栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

关于IDEA部署 springboot应用到Docker中的N多种方法之 一

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

关于IDEA部署 springboot应用到Docker中的N多种方法之 一

前言

随着容器化流行,k8s流行,解放生产力真的很重要,那么久看看集中在docker中部署微服务的方式吧

一、Idea是什么?Springboot是什么?Docker是什么? 

不多解释了,Idea 开发工具,Springboot是开发框架,Docker运行环境

二、使用步骤 1. 增加部署文件

        

         01)整体的项目结构如图,我在根目录下的deploy 下创建了 Dockerfile 和build.sh 这个在后面的其他部署方式中会用到;

        所说的部署文件,就是Docker的配置文件,这是一个非常强大的东西;具体的语法可以找相关的文档看看,这里我只做一个简单的部署样例;

        具体内容:

FROM openjdk:8

VOLUME /tmp

ADD *.jar app.jar
EXPOSE 8099
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

        2, 在项目于中的pom.xml文件中加入这个插件

            
                com.spotify
                docker-maven-plugin
                
                

                
                    
                        build-image
                        package
                        
                            build
                        
                    
                
                
                    
                    ${project.artifactId}
                    
                    
                        latest
                    
                    
                    ${project.basedir}/deploy

                    
                    http://127.0.0.1:2375

                    
                    
                        
                            /
                            
                            ${project.build.directory}
                            
                            ${project.build.finalName}.jar
                        
                    
                
            
2.使用阶段

        2.1 ,安装插件 Docker 

        

         配置插件:

 

 

 

 找到services 选项卡:

 最后利用我们在Maven 中配置的package 命令直接进行编译打包做镜像

 日志的输出:

[INFO] Building image docker-k8s-user
Step 1/5 : FROM openjdk:8

 ---> 5bbce51c9625
Step 2/5 : VOLUME /tmp

 ---> Running in 51e4c77979bb
Removing intermediate container 51e4c77979bb
 ---> 0963e6fe1b61
Step 3/5 : ADD *.jar app.jar

 ---> 6d975dbbe77b
Step 4/5 : EXPOSE 8099

 ---> Running in 46b65c077f25
Removing intermediate container 46b65c077f25
 ---> 9706f14c9a48
Step 5/5 : ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

 ---> Running in c70aeb012abe
Removing intermediate container c70aeb012abe
 ---> df85a6cdedb7
ProgressMessage{id=null, status=null, stream=null, error=null, progress=null, progressDetail=null}
Successfully built df85a6cdedb7
Successfully tagged docker-k8s-user:latest
[INFO] Built docker-k8s-user
[INFO] Tagging docker-k8s-user with latest
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  7.649 s
[INFO] Finished at: 2021-12-16T10:54:53+08:00

生成好的镜像:

 

 

配置容器端口到外部服务的映射

 在Containers中找到这个服务,启动

最后,访问下吧

http://127.0.0.1:10001/userinfo/sayHello 


 

总结

这个部署方式只是众多方式中的一种,我下一次会用shell 脚本的方式,集成 maven打包,docker 构建镜像,启动 做到一个shell命令中这样也可以完成;写的菜不要喷

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666491.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号