2016-04-17 21 views
0

私のjarは特定のポートで動作します。私はそこにコンテナのポートがあると仮定していますので、どのようにドッカーイメージを使ってjarを実行しますか?これらのポートはどのように相互に通信しますか?これらのポートを両方とも公開する必要がありますか? EntrypointとCMDの両方が必要ですか?私のjarファイルは、デフォルトを選ぶことができるので、引数を受け入れる必要があります。dockerイメージを使用してjarファイルを実行するには?

答えて

0

コンテナが外部ネットワークと通信していない場合(つまり、Javaプログラムがこれらのポートを使用する唯一のプログラムである場合)、ポートを公開する必要はありません。あなたのエントリーポイントまたはcmdは〜java -jar /my/jarであり、あなたのデフォルトを使用します。

+0

私のjarファイルはサーバーなので、外部ネットワークと通信する必要があります(私はそれを忘れて申し訳ありません)。しかし、コンテナには独自のポートがあり、アプリケーションには独自のポートがありますか?彼らはどのようにお互いに統合されていますか?最後にそれはエントリーポイントかcmdか、あるいは私は両方が必要ですか? – user1870400

+0

この場合、ポートを公開し公開する必要があります。ポートを公開すると、Dockerブリッジネットワーク上の他のコンテナに表示されます。ポートを公開し公開すると、ポートはホストマシンのポートにマップされます。必要に応じて、entrypointまたはcmdのいずれかを使用できます。 entrypointを使用すると、 'docker run'によって渡されたparamsがあなたのエントリーポイントのためのパラメーターとして使われます。 cmdでは、代わりにparamsがcmdを上書きします。 – kliew

+0

何らかの理由でjarファイルを実行できませんでしたが、私が他の質問にリンクされている場所にインストールされていることがはっきりとわかりましたが、私はJavaが見つかりません。http://stackoverflow.com/questions/36608753/install-java-successfully-the-dockerfile-but-its-says-java-command-not/36636623?noredirect = 1#comment60936506_36636623 – user1870400

関連する問題