ジブの紹介 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は複数人のインタラクションを実現し、プロセス全体を解放します
monaco-editor-vueの公式ソースコードは次のとおりです。インデックス 'mon...
1. サーブレットとは何か1.1. 正式な言葉で説明する:サーブレットは、動的な Web リソースを...
1. 背景一般的に、データ ウェアハウス環境では、row_number 関数を使用して特定のディメン...
私は全体のプロセスを 4 つのステップに分けます。 JDKをダウンロードしてインストールするTomc...
インデックス作成は大学図書館の書誌インデックスの構築に似ており、データ検索の効率を向上させ、データベ...
導入コンピューティングのニーズが拡大し続けるにつれて、アプリケーションのメモリに対する需要も増加して...
たくさん集めましたが、すべて失敗に終わりました。最終的に、この方法は優れており、使用に影響を与えない...
最近、Oracle、MySQL、SQL Server 2005 のデータ ページング クエリについて...
最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...
目次1. はじめに2. 思考分析3. クラウド決済のケーススタディ1. クラウド機能1-1. 認証不...
私のプロジェクトの特定の機能ではサーバーが rabbitmq にメッセージを送信する必要があるため、...
目次JSはFileReaderを通じて.txtファイルの内容を取得します。 .txtファイルの読み取...
多くの場合、ホームページを作成するときに、Web ページ ヘッダー属性の設定を無視します。 Web ...
実際、Vueでaxiosをカプセル化するのは非常に簡単ですまず、srcパスにhttpフォルダを作成し...
目次序文方法1: 高コントラスト方法2: getBoundingClientRect() APIを使...