springboot采用Docker容器化,实现可执行jar文件编译成镜像以及镜像的发布

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ydwyyy/article/details/79096447

作者:ydw_武汉

联系方式:hyl19900208@163.com

前言:

Docker是一个linux的容器管理工具,在现在的架构中,使用非常普遍,它允许用户把容器镜像推送到一个公共的库或者是私有的镜像库中,使用也方便,对于之前项目的部署为了部署环境的统一也很麻烦,现在有了镜像这个概念之后,就很容易实现环境的统一,而且在国内有很多的云容器,也非常的方便用于部署和开发。

springboot是一个基于spring的敏捷开发架构,由于他自带Tomcat他可以编译成一个可执行的jar文件,当然也可以和传统项目一样编译成war包部署到Tomcat中。

今天主要讲解如何把我们的一个Springboot的应用程序部署为一个镜像,并且运行这个镜像。


在正式开始之前需要做好以下准备工作:


1.安装Docker,mac用户使用brew很好装,也可以到Docker的官网上下载对应的安装包安装。Docker对Windows的支持现在已经很好了,可以不需要在安装虚拟机。

官网下载地址如下:https://www.docker.com/community-edition#/download 点击打开下载链接


选择对应的版本下载好直接安装即可。

注意事项:


验证是否安装成功:


2.使用Idea创建一个最简单的Hello word的项目。

第一步:在maven中添加Docker的插件,并且做好相关的属性配置

<properties>
//定义镜像名字的前缀(随便定义,开心就好)
   <docker.image.prefix>ydw</docker.image.prefix>
</properties>
<build>
    <plugins>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <version>1.3.6</version>
            <configuration>
		//定义镜像的名字(随便定义,开心就好也可以是:ydw/test)
                <repository>${docker.image.prefix}/${project.artifactId}</repository>
	<buildArgs>
		//配置需要编译的jar文件的地址(这个不能填错,否则不能构建)
		<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
	</buildArgs>
            </configuration>
        </plugin>
    </plugins>
</build>

第二步:


命令如下:

install dockerfile:build

成功编译的日志:

[INFO] Successfully built ydw/test:latest
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19.733 s
[INFO] Finished at: 2018-01-18T15:50:38+08:00
[INFO] Final Memory: 38M/522M
[INFO] ------------------------------------------------------------------------

Process finished with exit code 0
最后打开cmd或者是powshell查看镜像文件:

命令:docker images

D:\workspace_new\docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ydw/test            latest              43ab54dcecca        3 minutes ago       116MB
<none>              <none>              049a87970ebf        4 hours ago         116MB
openjdk             8-jdk-alpine        224765a6bdbe        8 days ago          102MB
java                8                   d23bdf5b1b1b        12 months ago       643MB
上面红色标注的就是我们刚生产的镜像。

运行测试:docker run -d -p 8080:8080 --name ydwAppTest ydw/test
打开浏览器:httl://localhost:8080





展开阅读全文

没有更多推荐了,返回首页