DockerMaven外掛快速部署微服務
阿新 • • 發佈:2018-12-24
1.為什麼要學習DockerMaven外掛?
因為當微服務過多,手動拷貝war包上傳到伺服器並拷貝jdk的容器,會非常麻煩,同時也會很容易出錯..所以學習dockermaven來自動部署微服務,從而避免這一系列問題.....
2.maven外掛自動部署步驟
1.修改宿主機的配置,讓其可以遠端訪問
vi /lib/systemd/system/docker.service
新增的內容為
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
修改後為圖下
wq 儲存退出
2 重新整理配置,重啟服務
systemctl daemon-reload
systemctl restart docker
3.在工程pom新增配置
<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>
ip是需要自己改的,,,並且需要準備一個jdk1.8的映象,映象名= jdk1.8
以上配置會自動生成Dockerfile
生成的對應的檔案配置如下
FROM jdk1.8
ADD app.jar /
ENTRYPOINT ["java","-jar","/app.jar"]
這裡上傳映象需要一個jdk1.8的環境映象 ......可以參考下列文章
4.開啟cmd進入需要部署的微服務目錄
mvn install一下,把專案下載到本地倉庫
5.構建映象
mvn docker:build
也可以在構建命令的同時把映象推送到register倉庫,,命令為
mvn docker:build -DpushImage
我構建映象的時候遇到了無法上傳的問題,,,,,,原因是映象名出現了大寫,,,,,,,,,,,就是下面這行配置......
<imageName>mybatis/SpringBootHelloWorld</imageName>
修改成 全小寫就行...
<imageName>mybatis/springboothelloworld</imageName>