Java アプリケーション開発のコンテナ化には、Docker イメージの作成が必要です。ユーザーが docker をローカルにインストールしていない場合は、jib を使用してイメージを含む tar ファイルを作成できます。
Jib には 4 つの使用方法があります。
Maven プラグイン: jib-maven-plugin
Gradle プラグインin: jib -gradle-plugin
Java ライブラリ: Jlib Core
Jib CLI
jib ビルド ツール 主に 4 つの強力な機能が含まれています。
build: イメージを作成し、リモート ウェアハウスにプッシュする機能を提供します。
buildTar: イメージを含む tar ファイルを作成する機能を提供します。
dockerBuild: docker イメージをローカルに作成する機能を提供します。
exportDocker: rContext は dockerfile を作成する機能を提供します。
Docker 環境なしでコンパイルおよびビルドする場合、build コマンドおよび dockerBuild コマンドを使用してイメージを作成することはできません。イメージを含む tar ファイルを作成するには、buildTar コマンドのみを使用できます。 . .
1. ミラーリングする必要があるプロジェクト コードを変更します: jib プラグインを宣言する pom ファイルを見つけて、
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>
from タグ: dockerfile の FROM キーワードに相当するベース イメージを設定します。 SWR の画像を使用することを推奨します。ダウンロード速度が速く、構築中も安定しています。
to tag: 作成した画像の画像名とタグを設定します。
container タグ: コンテナ関連のプロパティ、JVM メモリ パラメータ、ポートなどを設定します。
2. ビルド タスクを作成して実行します
# -Dmaven.test.skip=true: 跳过单元测试 # -U: 每次构建检查以来更新,可避免缓存中快照版本依赖不更新问题,但会牺牲部分性能 # -e -X: 打印调试信息,定位疑难构建问题时建议使用此参数构建 # -B: 以batch模式运行,可避免日志打印出现ArrayIndexOutOfBoundsException异常 mvn compile jib:buildTar -Dmaven.test.skip=true -U -e -X -B
Java プロジェクトのターゲット ディレクトリで、生成された tar イメージを確認できます。
3. tar イメージを使用するdocker load -i xxx.tar
コマンドを実行して、tar ファイル イメージをローカル イメージ ウェアハウスにロードし、docker run を使用します。 --rm -p 8081:8081 lenea/hellojib:0.0.1
およびその他のコマンドは、関数をテストするためにコンテナーを開始します。
以上がjib プラグインを使用して Java アプリケーションのイメージを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。