1. 程式人生 > >DockerMaven外掛快速部署微服務

DockerMaven外掛快速部署微服務

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的環境映象 ......可以參考下列文章

docker 1.8jdk映象搭建

 

4.開啟cmd進入需要部署的微服務目錄

mvn install一下,把專案下載到本地倉庫

 

5.構建映象

mvn docker:build  

 

也可以在構建命令的同時把映象推送到register倉庫,,命令為

mvn docker:build  -DpushImage

 

 

 

我構建映象的時候遇到了無法上傳的問題,,,,,,原因是映象名出現了大寫,,,,,,,,,,,就是下面這行配置......

<imageName>mybatis/SpringBootHelloWorld</imageName>

 

修改成 全小寫就行...

<imageName>mybatis/springboothelloworld</imageName>