使用dockerfile-maven-plugin

2022-08-23 11:15:39

介绍

github地址:

GitHub - spotify/dockerfile-maven: MATURE: A set of Maven tools for dealing with Dockerfilesicon-default.png?t=M4ADhttps://github.com/spotify/dockerfile-maven/

maven是一个项目依赖管理和构建的工具,dockerfile-maven-plugin是一个maven的插件,主要作用是在项目构建的时候生成基于项目的docker镜像文件。

简而言之,此插件将maven和docker进行集成。

正常情况下,我们在开发了一个应用程序后,会使用maven进行打包,生成对应的jar文件。而后,会使用docker将jar文件build成一个镜像(docker image)。之后,就可以在docker daemon中创建基于镜像的容器,并可提供服务了。

dockerfile-maven-plugin的目标就是将maven的打包过程和docker的build过程结合在一起,当成功打包,既生成了对应的jar,也已生成了对应的docker镜像。

Docker开启远程安全访问

参考:

Docker开启远程安全访问 - -零 - 博客园原文链接:https://www.cnblogs.com/niceyoo/p/13270224.html 一、编辑docker.service文件 vi /usr/lib/systemd/systemhttps://www.cnblogs.com/-wenli/p/13555833.html

1. 编辑docker.service文件

vi /usr/lib/systemd/system/docker.service

找到 [Service] 节点,修改 ExecStart 属性,增加 -H tcp://0.0.0.0:2375

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

2. 重新加载Docker配置生效

systemctl daemon-reload

systemctl restart docker

3. 验证

我们通过浏览器访问 2375 测试一下,格式为:http://ip:2375/version

如果无法访问的话,可以尝试一下开放防火墙2375端口,具体命令如下

firewall-cmd --zone=public --add-port=2375/tcp --permanent

firewall-cmd –reload

这样我们就可以直接在Idea中的Docker插件中直接连接测试了:

配置步骤

1.pom文件配置

<plugin>
  <groupId>com.spotify</groupId>
  <artifactId>dockerfile-maven-plugin</artifactId>
  <version>${dockerfile-maven-version}</version>
  <configuration>
<!—image name-->
<repository>springboot-plugin</repository>
<!—image version-->
    <tag>${project.version}</tag>
  </configuration>
</plugin>

2.DockerFile

FROM openjdk:8-jre
MAINTAINER David Flemström <dflemstr@spotify.com>
ENTRYPOINT ["/usr/bin/java", "-jar", "/usr/share/myservice/myservice.jar"]

# Add Maven dependencies (not shaded into the artifact; Docker-cached)
ADD target/lib   /usr/share/myservice/lib

# Add the service itself
ARG JAR_FILE
ADD target/${JAR_FILE} /usr/share/myservice/myservice.jar

运行

1. 执行命令

        mvn clean package

        mvn dockerfile:build

2. 登录Docker服务器,查看刚才打的镜像是否存在

 docker images

3. 执行运行镜像命令

        docker run –d –p 8080:8080 springboot-plugin:1.0.0

  • 作者:CrazyL-
  • 原文链接:https://blog.csdn.net/lovelovelovelovelo/article/details/124828082
    更新时间:2022-08-23 11:15:39