2016-11-25 9 views
2

バックグラウンドを提供するために、複数のシステム/サーバーに同時にアプリケーションをダウンロードしてインストールするデプロイメント・ワークフローがあります。このワークフローをテストするには、500台のシステムで同時展開を確認す​​る必要があります。私はこれをテストするために500台のVMを作成する立場にはありません。このワークフローをテストするためにDockerコンテナのアプローチを採用しました。ここで問題となるのは、パブリック/静的IPアドレスを持つコンテナを起動し、コンテナ内にsshをインストールすると、ssh経由でこのコンテナにログインできます。しかし、同じ構成の別のコンテナを起動することはできません。なぜなら、ポート22はホスト上のコンテナ#1によってすでに使用されていて、私の展開ワークフローは内部的にポート22だけを使用しているためです。SSHを使用してドッキング・コンテナにアプリケーションをインストール

私はポート転送/要求がIP#1に到着するたびに、ポート22を使用し、要求がIP#2に到着した時点で、ポート#27を使用することができます。しかし、これが可能かどうかはわかりません。

これに関するあらゆる指針は非常に役に立ちます。

答えて

3

最初に、ドッカーはコンテナポートを別のホストポートにマッピングします。つまり、-pでコンテナを起動します。 docker run referenceから

docker run mycontainer -p 10001:22 
docker run mycontainer -p 10002:22 
docker run mycontainer -p 10003:22 
etc. 

-p = []:容器ポートまたはホストのポートの範囲を公開。

編集:あなたはsshを誤って使用したと思います。

デプロイメントワークフローは、ssh(プッシュ)を介して各コンテナに接続するのか、またはコンタクトする(プルする)のですか?プッシュすると、500人のクライアントにプッシュアウトするだけです。 :10001から10501。プルすると、すべてのクライアントが22とにかくコールします。

関連する問題