ジブの紹介 Jib は Google が開発した、Java アプリケーションの Docker および OCI イメージを直接ビルドできるライブラリです。Maven および Gradle プラグインの形式で提供されます。 Jib を使用すると、Java 開発者は使い慣れた Java ツールを使用してコンテナを構築できます。 Jib は、アプリケーションをコンテナ イメージにパッケージ化するために必要なすべての手順を処理する、高速でシンプルなコンテナ イメージ構築ツールです。 Dockerfile を記述したり Docker をインストールしたりする必要がなく、Maven および Gradle に直接統合されます。ビルドにプラグインを追加するだけで、Java アプリケーションを即座にコンテナ化できます。 Jib オープンソース アドレス: https://github.com/GoogleContainerTools/jib 一般的なDockerビルドプロセス ジブの製作プロセス ジブ統合 プロジェクトは Spring Cloud、バージョン Hoxton.SR1 です。 jib を統合するには、pom に jib プラグインを追加するだけです。 <プラグイン> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <バージョン>${jib.version}</バージョン> </プラグイン> ジブ関連の完全な構成 <プロパティ> <!-- jib docker 設定--> <!-- jib バージョン --> <jib.version>2.2.0</jib.version> <!-- jib パッケージングをスキップするかどうか --> <jib.skip>真</jib.skip> <!-- ウェアハウスイメージ名 --> <jib.repository.name>akk-システム</jib.repository.name> <!-- スタートアップ クラス --> <jib.main.class>com.akk.GatewayApplication</jib.main.class> <!-- 倉庫ログインユーザー名 --> <レジストリユーザー名>222222222222</レジストリユーザー名> <!-- 倉庫ログインパスワード --> <レジストリパスワード>111111111111</レジストリパスワード> </プロパティ> <プラグイン> <プラグイン> <groupId>com.google.cloud.tools</groupId> <artifactId>jib-maven-plugin</artifactId> <バージョン>${jib.version}</バージョン> <構成> <skip>${jib.skip}</skip> <!-- ベースイメージを構成する --> <から> <image>openjdk:8-jre-alpine</image> </from> <!-- プッシュ アドレス、ウェアハウス名、ミラー名を設定します --> <に> <画像>registry.cn-hangzhou.aliyuncs.com/akk_java/${jib.repository.name}</画像> <タグ> <!-- <タグ>${jib.repository.name}</タグ>--> <!-- <tag>${version}</tag>--> </タグ> <認証> <ユーザー名>${REGISTRY_USERNAME}</ユーザー名> <パスワード>${REGISTRY_PASSWORD}</パスワード> </auth> </に> <!-- プライベート サーバーは https ではなく http です。デフォルトでは、jib は https 以外のプライベート サーバーにプッシュしません。プライベート サーバーは追加されますが、パブリック サーバーは追加されません。 --> <!-- <allowInsecureRegistries>true</allowInsecureRegistries>--> <コンテナ> <mainClass>${jib.main.class}</mainClass> <ラベル> <名前>${アーティファクトID}</名前> </ラベル> </コンテナ> </構成> <!--Maven ライフサイクルにバインド--> <!-- <実行>--> <!-- <実行>--> <!-- <phase>パッケージ</phase>--> <!-- <目標>--> <!-- <goal>ビルド</goal>--> <!-- </目標>--> <!-- </実行>--> <!-- </実行>--> </プラグイン> </プラグイン> パラメータの説明:
この時点で、idea の Maven メニューに jib プラグイン関連のコンテンツが表示されます。 たとえば、ゲートウェイモジュール(イメージをパッケージ化する必要がある)の場合、pom構成は次のようになります。 <?xml バージョン="1.0" エンコーディング="UTF-8"?> <プロジェクト xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <親> <artifactId>akk システム</artifactId> <グループID>com.akk</グループID> <バージョン>0.0.1-SNAPSHOT</バージョン> </親> <モデルバージョン>4.0.0</モデルバージョン> <artifactId>ゲートウェイ</artifactId> <プロパティ> <!-- jib docker 設定--> <jib.version>2.2.0</jib.version> <jib.skip>偽</jib.skip> <jib.repository.name>akk-gateway</jib.repository.name> <jib.main.class>com.akk.GatewayApplication</jib.main.class> </プロパティ> <依存関係> <依存関係> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </依存関係> <依存関係> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> </依存関係> </依存関係> </プロジェクト> 共通のパブリック依存関係パッケージ pom (イメージをパッケージ化する必要はありません): <?xml バージョン="1.0" エンコーディング="UTF-8"?> <プロジェクト xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <モデルバージョン>4.0.0</モデルバージョン> <親> <artifactId>akk システム</artifactId> <グループID>com.akk</グループID> <バージョン>0.0.1-SNAPSHOT</バージョン> </親> <artifactId>共通</artifactId> <バージョン>0.0.1-SNAPSHOT</バージョン> <プロパティ> <!-- jib docker 設定--> <jib.version>2.2.0</jib.version> <jib.skip>真</jib.skip> <jib.repository.name>akk-システム</jib.repository.name> <jib.image.name>akk システム</jib.image.name> </プロパティ> <依存関係> <!-- 依存関係情報 --> </依存関係> </プロジェクト> このうち、プロパティはジブの関連パラメータ設定をカバーします。 パッケージ画像 パッケージ化するには パッケージ化が完了したら、ローカルの Docker イメージを確認します (jib:dockerBuild コマンドではイメージはアップロードされませんが、jib:build コマンドではイメージがアップロードされます) 画像をパックしてアップロードする
docker ログイン --username=ユーザー名 --password=パスワード registry.cn-hangzhou.aliyuncs.com 画像をプルする docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-gateway:latest Docker デプロイメント プロジェクト マイクロサービス プロジェクトのデプロイメントには多くのモジュールがあり、一般的には分散クラスター環境であるため、手動でのデプロイメントは面倒です。Jenkins などの自動デプロイメント ツールを使用できます。 Jenkins を使用してイメージをパッケージ化してアップロードした後、リモート サーバーにログインし、スクリプトを実行して起動します。のように: #!/bin/bash # docker リポジトリにログインdocker login --username=username --password=password registry.cn-hangzhou.aliyuncs.com # 実行中のコンテナを停止します docker ps | grep akk_java | awk '{print $1}' | xargs docker stop # コンテナを削除する docker ps -a -q | grep akk_java | awk '{print $1}' | xargs docker rm # イメージファイルをクエリし、docker イメージを削除します | grep akk_java | awk '{print $3}' | xargs docker rmi # イメージをプルする docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-user:latest docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-gateway:latest docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-task:latest docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-store:latest docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-pay:latest docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-app-api:latest docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-sso-auth:latest docker pull registry.cn-hangzhou.aliyuncs.com/akk_java/akk-seata:latest イメージを再度プルした後、 Spring Cloud での Docker デプロイメントに jib を使用する詳細な手順に関するこの記事はこれで終わりです。Spring Cloud Docker デプロイメントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: vue3 再帰コンポーネントカプセル化の全プロセス記録
>>: vue+node+socket ioは複数人のインタラクションを実現し、プロセス全体を解放します
目次序文関連資料Vue プロジェクトが 2 次元ハイパーグラフを導入ハイパーグラフ 2D ケース引用...
この記事では、例を使用して、MySQL 外部キー制約の一般的な操作について説明します。ご参考までに、...
1. HTML ヘッダーにビューポート タグを追加します。ウェブサイトの HTML ファイルの先頭...
仮想メモリとは何ですか?まずはWikipediaからの紹介文をそのまま引用します。仮想メモリは、コン...
1. Dockerをインストールするyum -y install docker-ioインストールが完...
目次1. スタックの定義2. JSスタックの調査1. スタックとヒープ2. 基本型と参照型3. 値渡...
この記事では、主に実際のアプリケーションでよく使用されるMySQLの時刻と日付、および変換関数につい...
効果 HTML を実装するには、まずクリーンな HTML ページを準備し、ノードを記述します。 &l...
最新のパーフェクト アロエ ベラ ジェルのパッケージ ボックスには、赤いフォントで完璧な英語の文字が...
ドラッグ アンド ドロップ API は、ドラッグ可能な要素を HTML に追加し、ドラッグ可能な豊富...
前回述べた問題を解決するために、オンラインで検索したところ、非常に優れたビジュアル インターフェース...
最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...
覚えて: IDE ディスク: 最初のディスクは hda、2 番目のディスクは hdb...最初のディ...
目次序文クイックレビュー: JavaScript 関数関数とは何ですか?関数を宣言する関数の呼び出し...
Nginx グローバル変数Nginx には、$variable 名を通じて使用できるグローバル変数が...