Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7

Spring boot 和 docker逐渐成为日常,这篇文章来说说怎么吧我们自己的spring-boot项目构建成docker image 直接运行到宿主机上。这里提供两种方法。

1,通过maven插件的方式(docker-maven-plugin)

1,先上插件源码地址

作者有两个项目能帮助我们完成这个需求(详细请查看官方文档)

(1)https://github.com/spotify/docker-maven-plugin

(2)https://github.com/spotify/dockerfile-maven

这里演示第一个(可省略dockerfile)

2,引入依赖


        
            
                com.spotify
                docker-maven-plugin
                1.2.0
                
                    ${project.artifactId}:${project.version}
                    ${project.version}
                    java:8
                    ["java", "-jar", "/${project.build.finalName}.jar"]
                    http://192.168.1.30:2375
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
                
                    
                        package
                        
                            build
                        
                    
                
            

            
                org.springframework.boot
                spring-boot-maven-plugin
                ${spring-boot-maven-plugin.version}
                
                    
                        
                            repackage
                        
                    
                
                
                    true
                
            
        
    

注意,执行插件之前docker要开启远程连接

vi /lib/systemd/system/docker.service

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第1张图片

#修改以ExecStart开头的行:(因为我的系统是centos 7的,所以修改为下面得)

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

#如果是centos7以下的话,就把ExecStart修改为

ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

systemctl daemon-reload

service docker restart

#执行正常返回则成功
curl http://localhost:2375/info

3,执行命令

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第2张图片

成功后docker images查看已经存在。

2,直接在宿主机构建的方式。

1、将jar包上传linux服务器/usr/local/dockerapp目录,在jar包所在目录创建名为Dockerfile的文件

2、在Dockerfile中添加以下内容

###指定java8环境镜像

FROM java:8

###复制文件到容器app-springboot

ADD docker-springboot-0.0.1.jar /app-springboot.jar

###声明启动端口号

EXPOSE 8080

###配置容器启动后执行的命令

ENTRYPOINT ["java","-jar","/app-springboot.jar"]

使用docker build命令构建镜像

docker build -t docker-springboot-0.0.1 .
# 格式: docker build -t 镜像名称:标签 Dockerfile的相对位置

docker run -p 8080:8080 docker-springboot-0.0.1

3,通过IDEA插件的方式

1,安装插件

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第3张图片

2,设置连接地址,设置之前要开启远程链接,上面说到了

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第4张图片

3,编写dockerFile(上面已经写了)

4,启动配置

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第5张图片

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第6张图片

5,开始构建并启动,如果已经存在则重新构建启动

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第7张图片

6,控制台查看构建结果和日志

Spring boot项目 构建自己的docker镜像(maven插件方式,宿主机dockerfile构建方式,idea插件方式)Centos7_第8张图片

 

你可能感兴趣的:(docker)