当前位置:   article > 正文

docker构建镜像方式--2--docker-maven-plugin 插件 ,远程连接docker服务器,一键快速生成镜像 【个人不推荐】

docker-maven-plugin

前提 ,先做好此工作: IDEA用可视化操作插件连接docker
查看博文 
idea集成docker 实现远程连接,可视化操作_小哇-CSDN博客

个人总结:此方式不用直接编写Dockfile文件,直接在pom.xml中编写构建镜像的逻辑,相当于是在pom文件中编写了Dockfile的内容,个人感觉这种方式,一般般

1 正常开发springBoot项目,在pom.xml中添加以下docker配置,修改以下两项配置即可,然后像平常打包项目一样,先 clean,再package即可

  • a 修改 docker 远程服务器IP
  • b 镜像的名称 

如果打包出错,特别是类似阿里的云服务器,安全规则先删除2375端口,再重新添加 

  1. <build>
  2. <finalName>${project.artifactId}</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.springframework.boot</groupId>
  6. <artifactId>spring-boot-maven-plugin</artifactId>
  7. <configuration>
  8. <fork>true</fork>
  9. </configuration>
  10. </plugin>
  11. <!-- 跳过单元测试 -->
  12. <plugin>
  13. <groupId>org.apache.maven.plugins</groupId>
  14. <artifactId>maven-surefire-plugin</artifactId>
  15. <configuration>
  16. <skipTests>true</skipTests>
  17. </configuration>
  18. </plugin>
  19. <!--使用docker-maven-plugin插件-->
  20. <plugin>
  21. <groupId>com.spotify</groupId>
  22. <artifactId>docker-maven-plugin</artifactId>
  23. <version>1.0.0</version>
  24. <!--将插件绑定在某个phase执行-->
  25. <executions>
  26. <execution>
  27. <id>build-image</id>
  28. <!--用户只需执行mvn package ,就会自动执行mvn docker:build-->
  29. <phase>package</phase>
  30. <goals>
  31. <goal>build</goal>
  32. </goals>
  33. </execution>
  34. </executions>
  35. <configuration>
  36. <!--指定生成的镜像名-->
  37. <imageName>hahaha/${project.artifactId}</imageName>
  38. <!--指定标签-->
  39. <imageTags>
  40. <imageTag>latest</imageTag>
  41. </imageTags>
  42. <!--指定基础镜像jdk1.8-->
  43. <baseImage>java</baseImage>
  44. <!--镜像制作人本人信息-->
  45. <maintainer>hahaha@email.com</maintainer>
  46. <!--切换到ROOT目录-->
  47. <workdir>/ROOT</workdir>
  48. <cmd>["java", "-version"]</cmd>
  49. <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
  50. <!--指定远程 docker api地址-->
  51. <dockerHost>http://1.3.5.7:2375</dockerHost>
  52. <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
  53. <resources>
  54. <resource>
  55. <targetPath>/</targetPath>
  56. <!--jar 包所在的路径 此处配置的 即对应 target 目录-->
  57. <directory>${project.build.directory}</directory>
  58. <!--用于指定需要复制的文件 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
  59. <include>${project.build.finalName}.jar</include>
  60. </resource>
  61. </resources>
  62. </configuration>
  63. <!--有些情况没有此依赖会报错-->
  64. <dependencies>
  65. <dependency>
  66. <groupId>javax.activation</groupId>
  67. <artifactId>activation</artifactId>
  68. <version>1.1.1</version>
  69. </dependency>
  70. </dependencies>
  71. </plugin>
  72. </plugins>
  73. </build>

2 查看镜像是否生成成功

3 创建容器运行项目

docker run -di --name=myautoboot_1 -p 7777:6666 hahaha/boot_and_docker_1:latest

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/866642
推荐阅读
相关标签
  

闽ICP备14008679号