ホームページ > Java > &#&チュートリアル > springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

PHPz
リリース: 2023-05-12 15:25:06
転載
1828 人が閲覧しました

docker の概要

Docker は、オープンソースのアプリケーション コンテナ エンジンであり、従来の仮想マシン テクノロジと比較して、Docker コンテナのパフォーマンスのオーバーヘッドが非常に低いため、開発者にも広く愛されています。 。 Docker ベースの開発者が増えるにつれ、Docker イメージはより豊富になり、将来的には、イメージをダウンロードすることで、さまざまなエンタープライズレベルの完全なソリューションを直接使用できるようになります。したがって、docker の重要性はますます高まっています。

この記事の目的

この記事では、プロジェクトの例を使用して、Docker 外部インターフェイスを通じて Docker コンテナーを管理および監視する方法を紹介します。

アプリケーション シナリオ:

Docker を通じてサーバー リソース プールを統合的に管理し、オンデマンドでリソースを割り当て、コンテナーを作成して、リソースの使用率を最大化します。同時に各業務(コンテナ)間の隔離も確保されます。また、プロジェクトのオンライン展開をサポートできます。

1. インターフェイスを通じて Docker Tomcat コンテナを作成し、クォータを構成します。

2. war パッケージをアップロードし、コンテナにデプロイします。

3. すべての Docker コンテナのリソース使用状況を動的に監視します。

コードは docker-java オープン ソース コンポーネントに基づいており、機能開発は spring-boot に基づいて完了します。インターフェースは以下のとおりです:

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

基本環境

1, eclipse 2019-03;

2 、Windows用のドッカー。学習と簡素化の目的で、Linux 環境は使用されませんが、原理と基本的なコマンドは同じです。

関連テクノロジーとナレッジポイント:

maven、spring-boot、spring mvc、spring のアップロードとダウンロード、jquery ajax とアップロード。

実装原則

Docker は外部に豊富なインターフェイス (restfull API など) を提供し、これらのインターフェイスを通じて Docker を管理できます。 docker-java オープン ソース コンポーネントはこのインターフェイスに基づいてカプセル化されているため、開発が容易になります。もちろん、他にもパッケージ化されたコンポーネントが市販されており、自分で比較して学ぶことができます。ここのオープンソース作者に感謝します。

実装プロセスの事前準備

1. Windowsのアップグレード

Windows環境を使用しているため、作者所有のPCがプリインストールされています。 win10 ファミリー バージョンでは、Docker for Windows は仮想化テクノロジを使用するために上位レベルのオペレーティング システムで実行する必要があるため、プロフェッショナル バージョンにアップグレードする必要があります。

アップグレードが必要な場合のアップグレード プロセスは比較的簡単です。簡単に説明すると次のとおりです (すでにプロフェッショナル バージョンである場合はスキップできます):

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

#クリックして製品パスワードを変更します。プロフェッショナル バージョン キーを入力した後、段階的なアップグレードを待ちます。キーはオンラインで自分で見つけることができますが、とにかくそこにあります。

2. docker for windows をインストールします

公式 Web サイトからダウンロードしたら、次の手順に従うだけです。インストール後は勝手に起動し、起動後のツールバーにdockerのロゴが表示されます。

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

インストールが成功したら、いくつかのコマンドを入力して、インストールが成功したかどうかをテストできます。例: Docker に関する基本情報を表示します。

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

#3. Docker イメージのアドレスを変更します。

デフォルトのミラー アドレスは遅いため、Tomcat ミラーの長さは 500 メートルを超えます。ネットワークが良好でない場合、ダウンロードは非常に遅くなります。次のように、ミラー アドレスを NetEase のミラー アドレスに構成できます。

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

4. リモート管理の開始

最後の項目を確認してください 中の tcp//xxx がリモート接続アドレスです。

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

開始後、ブラウザにアドレスを入力して、結果が返されるかどうかを確認します:

(このアドレスは、 docker indo を入力するのと同じです。 cmd) 返されるコンテンツは json 形式です:

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

実装プロセス コード開発

1. Maven プロジェクトを作成します。

処理は簡単なので省略します。プロジェクト全体のコード構造は次のとおりです:

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

2. docker-java と Spring Boot の Maven 依存関係を構成します。最終的な pom ファイルの内容は次のとおりです

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

jar パッケージを見ると、docker-java の最下層は netty 依存関係を使用しているはずです。

3. Spring 設定ファイル application.properties を追加します

jsp の場所と docker の管理アドレスを設定します。

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

4. メイン クラスの紹介:

1.spring boot によってメイン クラスが開始されます。

もちろん、他のコンテナを設定したり、Maven の Jetty プラグインを使用して開始したりすることもできます。

別の記事を参照してください: spring-boot 原則 (spring-boot-starter インスタンスの実装) とソース コードのダウンロード

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

Payこのクラスに注意してください。ルート ディレクトリの下にあるすべてのサブディレクトリが Spring によってスキャンされるように、このクラスをルート ディレクトリに配置するのが最善です。

2.dockerclientoperaterserver (docker と対話するクラス)、次のように:

次のメソッドが含まれます:

initclient: 初期化リンク。

getdockerinfo: docker の基本情報を取得します;

stat: リアルタイムの統計情報;

refreshcontainers: すべてのコンテナの基本情報を取得してキャッシュに置きます;

createandstartrcontaineranddeployapp: インターフェイスによって渡されたパラメーターに従ってコンテナーを作成および開始し、同時にプロジェクトをデプロイします;

stopcontainer: コンテナーを停止します;

rmcontainer: コンテナーを削除しますコンテナ;

closeclient: リンクを閉じる;

pushapptocotainer: war パッケージを tomcat にデプロイ;

コード スニペットが長すぎるため、主なメソッドをいくつか紹介します。

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

createcontainer (コンテナーの作成):

このメソッドでは、docker-java を使用してコンテナーの作成、クォータの割り当て、ポート マッピングの構成などを行います。

pushapptocotainer: プロジェクトを tomcat にデプロイします

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

stat、監視メソッド:

これを監視するための docker-java メソッドはありません。実際にはサポートされていますが、返された結果にはさまざまな処理が必要なため、便宜的なアプローチが使用されます。 java を使用して cmd を呼び出して実行し (docker stats)、監視結果を取得します。

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

監視情報を取得するための docker-java コードは次のとおりです:

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

3.dockerclientcontroller (と対話するコントローラー)インターフェース)。

メインメソッドの紹介:

addcontainer: コンテナの追加とwarパッケージのアップロード

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

以上がメインコードの説明です。

特定のコードの詳細については、ソース コードをダウンロードし、プロセスに従って表示してください。

実装後のメイン インターフェイス:

これはサンプル プロジェクトであるため、コードは vue およびブートストラップ フレームワークを使用しません。 CSSとJSを自分で書きました。具体的な効果は次のとおりです:

#1. 監視と管理のホームページ

springboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法

#2. コンテナーの追加;

#

以上がspringboot と docker-java に基づいて Docker コンテナの動的な管理と監視を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート