前提・実現したいこと
AWSにdockerを使用してWebアプリケーションを構築しています。
2つのコンテナを立ち上げています。
Webサーバ、アプリケーション部分と画像処理をする部分です。
この、二つのコンテナはネットワークを組んでいます。
しかし、コンテナ間でのプロセス通信をしたことないので方向性が分からないです。
疑問
以前は以下のコードのようなProcessBuilderを使用して、JavaからPythonを呼び出しました。
ProcessBuilder processBuilder = new ProcessBuilder("/usr/bin/python", resolvePythonScriptPath("run_detection.py")); processBuilder.redirectErrorStream(true); Process process = processBuilder.start(); // List<String> results = readProcessOutput(process.getInputStream()); // System.out.println(results); int exitCode = process.waitFor(); System.out.println(exitCode);
ここでの/usr/bin/pythonは逆側のコンテナなので、コンテナ間での通信をする必要があると思います。
ネットワークは組んであるので、コンテナ名でコンテナ間の通信ができると思います。
疑問点としては、
>ProcessBuilder("/usr/bin/python")のように実行するPythonの実体を指定して動かしました。
dockerコンテナ間でプロセス間通信をする場合には、どのようにPythonの実体を指定するのかがわかりません。
コンテナ間通信でのパスの指定方法?みたいのを教えて欲しいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/14 06:11
2021/01/14 06:20
2021/01/14 06:36