2017-07-18 3 views

答えて

0

これは、異なる仮想ホストを使用してトラフィックを異なるコンテナに転送するリバースプロキシ(nginxまたはapache)を実行することで実現します。

gitlab.foo.bar  -> gitlab container 
racktables.foo.bar -> racktables container 
etc 

リバースプロキシコンテナは、ポート80と443をホストにマップします。すべてのトラフィックがリバースプロキシを通過するので、他のすべてのコンテナはポートマッピングを必要としません。

私はこの作業を行う最も簡単な方法はjwilder/nginx-proxyを使用することだと思います。それはあなたのためにほとんどすべてを自動化するので、少なくとも非常に初心者フレンドリーです。また、をコンテナ内の生成された設定ファイルで調べると、をたくさん学ぶことができます。 TLSを動作させるだけでも複雑ではなく、デフォルトではssllabsからA +の評価でセットアップを取得します。

私はこれを私の趣味のプロジェクトにほぼ1年間使っています。それは素晴らしいです(Let's Encryptで)。

もちろん、手動ですべてを設定することもできますが、多くの落とし穴で多くの作業があります。

これを行うには本当に悪い方法は、ホスト上でリバースプロキシを実行し、すべてのコンテナからホストに多くのポートをマップすることです。お願い、それはやめて。

関連する問題