這篇文章主要介紹了怎么利用docker-maven-plugin自動化部署,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
在我們持續集成過程中,項目工程一般使用 Maven 編譯打包,然后生成鏡像,通過鏡像上線,能夠大大提供上線效率,同時能夠快速動態擴容,快速回滾,著實很方便。docker-maven-plugin 插件就是為了幫助我們在Maven工程中,通過簡單的配置,自動生成鏡像并推送到倉庫中。
**作用:
在編譯工程時,能自動生成docker image,還可以遠程推送至倉庫,只需要在maven的配置文件pom.xml中合理的配置**
1、maven 配置:
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--注意imageName一定要是符合正則[a-z0-9-_.]的,否則構建不會成功--> <imageName>myserver:v1</imageName> <!-- 指定了Dockfile的目錄,所以需要在項目的src/main下創建一個docker目錄,并在其目錄中配置Dockerfile文件 --> <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory> <skipDockerBuild>false</skipDockerBuild> <!-- resources的內容會復制 dockerDirectory(也就是構建上下文)中 --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
2、然后在項目的src\main\resources\docker(就是上面配置的dockerDirectory目錄),創建一個名為Dockerfile的文件內容如下:
FROM java:8 MAINTAINER blue ADD mydocker-0.0.1-SNAPSHOT.jar mydocker.jar ENTRYPOINT ["java", "-jar", "/mydocker.jar"]
3、設置系統環境變量,用于指定需要連接的docker daemon的主機和端口
前面講過,docker是C/S架構,docker-maven-plugin擔任client角色,服務器則需要環境變量指定
4、執行mvn clean install docker:build,項目編譯完成后自動構建鏡像,執行docker images查看鏡像是否存在:
1、打開maven配置文件 setting.xml,加入倉庫賬號信息:
<servers> <server> <id>docker-hub</id> <username>blueiii</username> <password>xxxx</password> <configuration> <email>xxxxx@163.com</email> </configuration> </server> </servers>
2、修改pom.xml文件,imageName必須跟倉庫路徑一致:
<imageName>blueiii/mydocker:v1</imageName>
3、修改pom.xml文件,增加如下配置
<pushImage>true</pushImage> <serverId>docker-hub</serverId> <registryUrl>https://hub.docker.com/</registryUrl>
4、同樣執行mvn clean install docker:build,自動構建鏡像并上傳至docker hub:
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么利用docker-maven-plugin自動化部署”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。