0
点赞
收藏
分享

微信扫一扫

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

NicoalsNC 2022-02-11 阅读 69


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,引入依赖

<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<configuration>
<imageName>${project.artifactId}:${project.version}</imageName>
<imageTags>${project.version}</imageTags>
<baseImage>java:8</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<dockerHost>http://192.168.1.30:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>

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

vi /lib/systemd/system/docker.service

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

#修改以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_maven_02

成功后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 springboot/springboot:v1 .
# 格式: docker build -t 镜像名称:标签 Dockerfile的相对位置

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

3,通过IDEA插件的方式

1,安装插件

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

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

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

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

4,启动配置

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

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

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

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

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

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



举报

相关推荐

0 条评论