Docker持续集成(四)DockerMaven插件

微服务部署有两种方法:

一、手动部署:

首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝至JDK容器。

二、通过Maven插件自动部署(重点讲解)

Maven插件自动部署步骤:

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

vi /lib/systemd/system/docker.service

其中ExecStart=后添加配置 ‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock

修改后如下:

2、刷新配置,重启服务 

systemctl daemon‐reload
systemctl restart docker
docker start registry

 3、修改jack-discovery-eureka工程的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.135: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.135:2375</dockerHost>
				</configuration>
			</plugin>
		</plugins>
	</build>

4、在windows的命令提示符下,进入jack-discovery-eureka工程所在的目录,输入以下 命令,进行打包和上传镜像

  mvn clean package docker:build  ‐DpushImage -Dmaven.test.skip=true

浏览器访问 http://192.168.1.8:5000/v2/_catalog ,输出

{"repositories":["jack-discovery-eureka"]}

5、进入宿主机 , 查看镜像

docker images

6、 启动容器

docker run ‐d ‐‐name=eureka ‐p 8761:8671
  192.168.1.8:5000/jack-discovery-eureka:0.0.1-SNAPSHOT

总结:

  1. 启动容器需要暴露端口,见博客:centos7开放端口常用命令
  2. maven插件 除了pom.xml 中直接运行,还可以 采用Dockerfile方式运行
  3. 该文采用的都是手动执行命令,后文采用jenkins直接 打包、创建镜像、启动容器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值