当前位置:   article > 正文

maven配置:基于docker‐maven‐plugin构建、推送docker镜像(mvn docker:build ‐DpushImage)_maven docker plugin

maven docker plugin

微服务部署有两种方法:

(1)手动部署:首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器。
(2)通过Maven插件自动部署。
对于数量众多的微服务,手动部署无疑是非常麻烦的做法,并且容易出错。所以我们这里学习如何自动部署,这也是企业实际开发中经常使用的方法。

Maven插件自动部署步骤:

(1)修改宿主机的docker配置,让其可以远程访问

vi /lib/systemd/system/docker.service
  • 1

其中ExecStart=后添加配置 ‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock
修改后如下:
在这里插入图片描述
(2)刷新配置,重启服务

systemctl daemon‐reload
systemctl restart docker
docker start registry
  • 1
  • 2
  • 3

(3)在工程pom.xml 增加配置

<build>
	<finalName>app</finalName>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring‐boot‐maven‐plugin</artifactId>
		</plugin>
		<!‐‐ docker的maven插件,官网:
		https://github.com/spotify/docker‐maven‐plugin ‐‐>
		<plugin>
			<groupId>com.spotify</groupId>
			<artifactId>docker‐maven‐plugin</artifactId>
			<version>0.4.13</version>
			<configuration>
				<imageName>192.168.184.141:5000/${project.artifactId}:${project.version}</imageName>
				<baseImage>jdk1.8</baseImage>
				<entryPoint>["java", "‐jar","/${project.build.finalName}.jar"]</entryPoint>
				<resources>
					<resource>
						<targetPath>/</targetPath>
						<directory>${project.build.directory}</directory>
						<include>${project.build.finalName}.jar</include>
					</resource>
				</resources>
				<dockerHost>http://192.168.184.141:2375</dockerHost>
			</configuration>
		</plugin>
	</plugins>
</build>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

(4)以上配置会自动生成Dockerfile:

FROM jdk1.8
ADD app.jar /
ENTRYPOINT ["java","‐jar","/app.jar"]
  • 1
  • 2
  • 3

(5)在windows的命令提示符下,进入工程tensquare_parent所在的目录

mvn install
  • 1

进入pom.xml 所在的目录,输入以下命令,进行打包和上传镜像

mvn docker:build ‐DpushImage
  • 1

执行后,会有如下输出,代码正在上传
在这里插入图片描述

(6)进入宿主机 , 查看镜像

docker images
  • 1

浏览器访问 http://192.168.184.141:5000/v2/_catalog ,会找到push的镜像。

(7) 启动容器:

docker run ‐di ‐‐name=容器名称 ‐p 9001:9001 192.168.184.141:5000/镜像名称:1.0‐SNAPSHOT
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/866630?site
推荐阅读
相关标签
  

闽ICP备14008679号