RESTサービスメソッド内からコンテナを作成して開始しようとしています。私のRESTサービスはUnixマシンに常駐しています。同じマシンにあるRESTサービスを使用して、複数のドッキング・コンテナを構成し、起動するための外部システムからの複数の要求があります。ランダムで重複しないドッカーバインディングポートを生成します。
私の質問はどのように私のコンテナを始めることができるポートを決定するのですか?私のRESTメソッドに対する各リクエストは、以前のリクエストで使用されていなかった一意のポートでコンテナを開始する必要があります。ランダムなポート番号を生成する場合、同じ番号が再生成されないようにする必要があります。そうしないと、ポートの競合が発生します。
私は毎回ランダムな番号を生成する必要があります。反復しないで、使われているポートリストをどこかに保存し、乱数を生成してポートが使われていないことを確認するたびにリストをチェックしてください。コンテナが停止します(「使用中のポート」リストを更新して、停止したコンテナを削除します)。どのようにJavaでこれを達成するための任意のアイデア?事前に感謝します
任意のポインタ:^^
あなたは本当に、あなたはこのスレッドをチェックすることができ、すでに撮影したポートを無視してランダム化する必要がある場合は? – user1722908
ビジー状態のポートのリストを保存しているためです。このリストをループして、チェーンの最初の穴(最初は空)または次の使用可能なポートを見つけることができます。ループがポートリストの最後に達した場合 –