jsonベースのプラグインの「Dockerプラグインのインストール」方法


9

私はまったく新しいボリュームプラグインに取り組んでおり、すべてのボリュームテストテストに合格する必要があります。そして、最初のテストであるを除くすべてのテストが(プラグインがインストールされた環境で)成功していますdocker plugin install。問題は、カスタムプラグインをインストールする方法が3つあることです。

.sockファイルはUNIXドメインソケットです。
.specファイルは、unix:///other.sockやtcp:// localhost:8080などのURLを含むテキストファイルです。
.jsonファイルは、プラグインの完全なjson仕様を含むテキストファイルです。

そして、JSONを使用します。これは、RESTサーバー実装のドッカーAPI(Java、Springで記述)です。インストールプロセスは簡単です/etc/docker/plugins。json ファイルをコピーするだけで、dockerdが自動的に検出します。
プラグインをdocker plugin installコマンドに統合しようとすると問題が発生します。ここで述べたように

Dockerは最初にDockerホスト上のプラグインを探します。プラグインがローカルに存在しない場合、プラグインはレジストリから取得されます。

インストールプロセスでは、プライベートまたはパブリックレジストリへの接続を想定していないdocker plugin createため、プラグインをローカルで作成するために最初のコマンドが必要です。そして、これは、jsonベースのプラグインでそれを行う方法に頭を抱えるのに苦労しているところです。このドキュメントに従って、プラグインへのパスを指定する必要があります。私がディレクトリ名を使用する場合、それはディレクトリ内に存在するものconfig.jsonと想定さrootfsれます。

BUT
1.- config.jsonこれは.sock形式であり、.json形式ではない形式の構成を説明する構成です(間違っている場合は修正してください)
2. rootfsを作成する方法と、プラグインがスタンドアロンRESTである場合になぜ必要なのかサービスとそれはコンテナにもありませんか?

どんな助けにも感謝します。

回答:


-1

config.json-これは.sock形式の構成を記述する構成であり、.json形式ではありません(間違っている場合は修正してください)

私はそれが.specファイルで動作することを確認しましたが、jsonファイルでどのように動作するかはあまりわかりません。.specファイルの場合、config.jsonで.specファイルについて言及しません。これは、UNIXソケットプラグイン(オプション1)にのみ使用されます。実際には、TCPソケットプラグイン用のconfig.jsonは必要ありません。

rootfsはどのように作成しますか?プラグインがスタンドアロンRESTサービスであり、コンテナーにさえない場合、なぜそれが必要なのですか?

私の理解では、rootfsはUNIXソケットプラグイン専用です。.specファイルが正しいフォルダーに存在する場合、プラグインの検出はそのままで機能します。簡単に言えば、スペックファイルを作成して適切な検出フォルダーに配置し、そのプラグイン名でコンテナーをブートストラップしてみます。「docker plugin create / install / enable」のようなコマンドを実行する必要はありません。サーバーを実行し、ファイルを適切なフォルダーに配置して、新しいコンテナーがそのプラグインを使用できるようにします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.