かなりの量のドッカー作成スクリプトを作成し、いくつかのサービスを起動しました。私は今、JVMでドッカーの作成を制御したいと思っています。基本的にはup
とdown
、理想的には-p <project name>
というパラメータを実行したいので、同時に複数のインスタンスを生成することができます。コントロールのドッカーのJavaでの作成
これはJavaで可能ですか?
かなりの量のドッカー作成スクリプトを作成し、いくつかのサービスを起動しました。私は今、JVMでドッカーの作成を制御したいと思っています。基本的にはup
とdown
、理想的には-p <project name>
というパラメータを実行したいので、同時に複数のインスタンスを生成することができます。コントロールのドッカーのJavaでの作成
これはJavaで可能ですか?
Docker Composeは、他のすべてのDockerクライアントと同じDocker APIに直接通話するpythonユーティリティです。送信するコマンドについては根本的に異なるものは何もありませんが、Dockerコンテナのライフサイクルをコード内で管理しています。
Composeは、docker
pythonモジュールをベースにしています。このモジュールは、別のPython Docker APIクライアントです。
Javaの場合は、here is the up
methodと同じように再実装するには多分時間がかかるでしょう。たぶん、Jythonでそれを引っ張ってみてください。本当にJVMからやるか、Javaからコマンドdocker-compose
を実行しなければならないのでしょうか。
私は別の有用なライブラリ:https://www.testcontainers.orgを見つけました。
TestContainersは、共通データベース、Selenium Webブラウザ、またはDockerコンテナで実行できるその他の軽量で使い捨てのインスタンスを提供するJUnitテストをサポートするJavaライブラリです。
ありがとうございました! 2番目の選択肢について:私はすでに述べたこれらのSDKとサードパーティのJavaライブラリを調査しました。彼らは 'docker-compose.yml'の設定と機能をサポートしていないようです。だから、基本的に、私は 'docker-compose'の機能を自分自身で実装しなければなりません(パース、コンテナの起動、管理など)。または私はここで間違っていますか? –
ええ、Docker SDKは現在ドッカーの作成をサポートしていません。ただし、現在のSDKを使用してサービスを1つずつ構成し、それらをまとめてグループ化することはできます。 dock-compose.yamlの解析と処理をすべて実装する必要はありません。 – Apolozeus
私はそれを調べなければならないでしょう! –