1

CI / CDを行うためにJenkinsとdockerを使用しています。当社の Jenkins はマスター/スレーブ スタイルとしてセットアップされ、スレーブは異なるデータ センターに分散されます。新しいビルドが必要になると、Jenkins マスターは DC の 1 つでスレーブを識別し、一時的なコンテナーをスピンアップし、完了したら破棄します。

ファイアウォールの制限により、一部の DC ではスレーブ用に約 10 個のポートしか開いていません。たとえば、ポート範囲: 8000 - 8010。一般に、docker は 32768 から 61000 の Linux ポート範囲を使用します。問題は、ホスト ポートが 8000 - 8010 の外にバインドされている場合、Jenkins マスターがコンテナーと通信できないことです。Jenkins docker プラグインには制限があります。複数のポートをバインドすることはできません (ここで間違っている可能性があります)。docker end または Jenkins docker plugin でこれを構成できる方法があるかどうかを知りたいです。

4

1 に答える 1

0

多くのフォーラムで調査し、人々と話をした後、これは不可能であるか、試してみることさえ推奨されません. この問題を克服するために推奨される実装は、Docker Swarm に移行することです。

  1. 仮想ドッカー クラウドが 1 つしかない場合
  2. これは、コンテナを舞台裏でスピンアップし、必要が生じる前に消費できる状態に保ちます。構成オプションは柔軟です。

Swarm の詳細については、 https: //docs.docker.com/swarm/ をご覧ください。

于 2016-11-28T16:27:33.333 に答える