Java應用程式開發的容器化,需要製作docker映像。要是用戶本機沒安裝docker,可以使用jib製作出有映像的tar檔。
Jib提供了四種使用方式:
Maven外掛:jib-maven-plugin
pom.xml檔案中宣告Jib插件:
<!--使用jib插件--> <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <version>1.3.0</version> <configuration> <!--from节点用来设置镜像的基础镜像,相当于Docerkfile中的FROM关键字--> <from> <!--使用openjdk官方镜像,tag是8-jdk-stretch,表示镜像的操作系统是debian9,装好了jdk8--> <image>openjdk:8-jdk-stretch</image> </from> <to> <!--镜像名称和tag,使用了mvn内置变量${project.version},表示当前工程的version--> <image>lendea/hellojib:${project.version}</image> </to> <!--容器相关的属性--> <container> <!--jvm内存参数--> <jvmFlags> <jvmFlag>-Xms256m</jvmFlag> <jvmFlag>-Xmx256m</jvmFlag> </jvmFlags> <!--要暴露的端口--> <ports> <port>8081</port> </ports> </container> </configuration> </plugin>
# -Dmaven.test.skip=true: 跳过单元测试 # -U: 每次构建检查以来更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能 # -e -X: 打印调试信息,定位疑难构建问题时建议使用此参数构建 # -B: 以batch模式运行,可避免日志打印出现ArrayIndexOutOfBoundsException异常 mvn compile jib:buildTar -Dmaven.test.skip=true -U -e -X -B在java專案的target目錄下,可以看到產生的tar鏡像。 3.使用tar映像
執行
docker load -i xxx.tar 指令將tar檔案的映像載入到本機映像倉庫,再使用
docker run --rm -p 8081:8081 lendea/hellojib:0.0.1等指令啟動容器來測試功能。
以上是如何利用jib插件建構Java應用的鏡像的詳細內容。更多資訊請關注PHP中文網其他相關文章!