微服務部署有倆種辦法:
- 手動部署: 首先基於源碼打包生成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),瀏覽器進行訪問測試