はじめに
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 コマンドのみを使用できます。 . .
Maven プラグインを使用して Java アプリケーションを Docker イメージとして構築する
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 サイトの他の関連記事を参照してください。

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1
使いやすく無料のコードエディター
