やりたいことは下記です。
Webアプリを実装しています(Javaにて実装中)
ボタン押下にてdockerのあるコンテナをrunする。
コマンドでは下記にて簡単に実行できますが、Webからどうすればよいのでしょうか。
$ docker run xxxxxxxx
コマンドはexec関数を使用できるようですが
こんな感じでしょうか。
Runtime r = Runtime.getRuntime();
Process process = r.exec("docker run xxxxxxxx");
ただ上記だと起動は出来ませんでした。
根本的に何か違う方法でも構いません。
よろしくお願いします。
また docker ps にてコンテナIDの一覧も取得したいです。
方法分かる方ご教授いただけないでしょうか。
java
1 Runtime r = Runtime.getRuntime(); 2 Process process = r.exec("docker ps"); 3 try { 4 process.waitFor(); // プロセスの正常終了まで待機させる 5 } catch (InterruptedException e) { 6 e.printStackTrace(); 7 } 8 9 InputStream is = process.getInputStream(); 10 11 BufferedReader br = new BufferedReader(new InputStreamReader(is)); 12 try { 13 for (;;) { 14 br.readLine(); ☆ 15 } 16 } finally { 17 br.close(); 18 }
コードは上記となります。
dockerを起動するだけならシェルスクリプトに記載して
それをたたくなどの方がよいのでしょうか。
ただ起動しているコンテナ一覧を取得したいので
シェルスクリプトなら戻り値が取れないのかなと思っています。
dockerに限らず、Webから例えばどこかの階層のファイル一覧($ls -l でコマンドなら表示できる情報)を
取得するには一般的にどのような方法があるのでしょうか。
調べた限り分かりませんでした。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー