微服务部署有俩种办法:
- 手动部署: 首先基于源码打包生成jar包(或war包),将jar包(或war包)上传至虚拟机并拷贝到JDK容器。
- 通过Maven 插件自动部署。
- 对于数量众多的微服务,手动部署无疑是非常麻烦的做法,并且容器出错。所以我们这里学习如何自动部署,这也是企业实际开发中经常使用的方法。
Maven插件自动部署步骤:
1),修改宿主机的docker配置哦,让其可以远程访问
vi /lib/systemd/system/docker.service
添加以下内容
‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock
如下图所示
2),刷新配置,重新服务如下
#刷新docker 服务
systemctl daemon-reload
#重新 docker
docker start registry
2-1),开启私有仓库,如下
3),在pom.xml文件中添加以后DockerMaven插件,如下所示
<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.xx.xxx: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.xx.xxx:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
4),进行打包和上传镜像
mvn clean package docker:build -DpushImage
如下添加成功
4-1),通过http://192.168.11.134:5000/v2/_catalog访问如下
4-2),使用docker启动微服务并通过端口进行访问
4-3),浏览器进行访问测试