Docker コンテナに HAProxy をデプロイする方法

Docker Kontenani Haproxy Wodepuroisuru Fang Fa



HAProxy を使用すると、システム上でパッケージとして実行するのではなく、Docker コンテナにデプロイできます。 Docker を使用すると、他のパッケージに干渉することがなくなり、リバース プロキシとして、または他の目的で HAProxy を実行するための隔離された環境を確保する 1 つの方法になります。 Docker 上で HAProxy を実行するのは簡単な作業です。この投稿では、従うべき手順について説明します。読む!

Docker コンテナへの HAProxy のデプロイ

アプリケーションやサーバーを操作する場合、HAProxy を使用すると、トラフィックを制御して高いパフォーマンスとスケーラビリティを実現できます。さらに、Docker はアプリケーションをシームレスにデプロイおよび拡張するためのプラットフォームを提供します。 2 つを組み合わせることで、スケーラビリティやその他の展開のニーズが十分に満たされます。







さらに、HAProxy テクノロジーは、Docker コンテナーに HAProxy をデプロイするために使用できる一連の Docker イメージを構築しました。従うべき手順は次のとおりです。



ステップ 1: Docker を開始する



HAProxy をデプロイする前に Docker を起動するには、システムに Docker がインストールされている必要があります。使用しているディストリビューションに応じて、Docker がインストールされていることを確認してください。このチュートリアルでは、Ubuntu を使用して Docker のバージョンをチェックし、システムにインストールされていることを確認します。






Docker をインストールしたら、そのステータスをチェックして実行していることを確認します。次のコマンドで起動し、ステータスを確認できます。

$ 須藤 systemctl 開始ドッカー




ステップ 2: HAProxy 公式 Docker イメージを取得する

公式の HAProxy Docker イメージは、Docker ハブから入手できます。次のコマンドでプルすることでダウンロードできます。

$ 須藤 docker pull haproxy


利用可能な Docker イメージをチェックして、HAProxy がダウンロードされていることを確認します。

$ 須藤 ドッカーイメージ


ステップ 3: Docker ネットワークを作成する

HAProxy にリンクする Web アプリケーションを使用するため、ブリッジ ネットワークが必要です。さらに、ネットワークを作成すると、コンテナーを分離して、それぞれが独自のものを使用できるようになります。

ブリッジ ネットワークを作成するには、次の構文を使用します。

$ 須藤 docker network create network_name


Docker コンテナ内で利用可能なネットワークを一覧表示することで、ネットワークが作成されたことをすぐに確認できます。

$ 須藤 ドッカーネットワーク ls


「network1a」が作成され、次の出力に表示されます。


ステップ 4: バックエンド Web アプリケーションを作成する

デモンストレーション用にロード バランサーで使用する 2 つの Web インスタンスを作成します。 Docker には使用できるさまざまなインスタンスがあります。この場合、Nginx イメージを使用して Web アプリケーションを作成します。

$ 須藤 ドッカーラン -d - 名前 < ウェブアプリ名 > - 通信網 < ネットワーク名 > nginx


他のインスタンスを作成します。


現在、Docker 上に 2 つの Web アプリケーション インスタンスがあります。 「docker ps」コマンドを実行してこれを確認します。


ステップ 5: 構成ファイルを作成する

Docker で使用する HAProxy 構成ファイルを作成する必要があります。構成ファイルを保存する場所を選択します。次に、テキストエディタで開きます。このケースでは nano を使用しており、設定ファイルは「/opt/haproxy/haproxy.cfg」に保存されています。


構成ファイルは次のようになります。各セクションで、HAProxy が Web アプリケーション/サーバー上の負荷をどのように分散するかを示していることに注目してください。


繰り返しますが、フロントエンド接続にはポート 80 を使用し、リスナーにはポート 8404 を使用します。


構成ファイルのバックエンド セクションに Web アプリケーションの正しい名前を追加したことを確認してください。 Web アプリケーションのホスト名の代わりに IP アドレスを使用することもできます。最後に、ファイルを保存して終了します。その後、HAProxy を再起動できます。


構成ファイルを作成する代わりに、既存の構成ファイルをコピーする Docker ファイルを作成して、コンテナーを構築できます。自分にとって最適な方法を自由に使用してください。

ステップ 6: HAProxy をデプロイする

次に、HAProxy コンテナを作成して実行し、そのポートを構成ファイルに含めたポートにマップする必要があります。コンテナーに「haproxycontainer2」という名前を付け、ホストのポート 80 と 8404 を Docker コンテナー上のポートにマッピングします。


これで、HAProxy を Docker コンテナにデプロイすることができました。これで、Web アプリケーション/サーバーにアクセスできるようになります。それらにチャネルされるトラフィックはすべて、負荷分散が確実に行われるように HAProxy を使用して分散されます。

結論

HAProxy は、負荷分散やその他のアプリケーションに役立ちます。 Docker を使用する場合、HAProxy をデプロイして、Web アプリケーションまたは開発環境に負荷分散の便利な方法を提供することができます。この投稿では、Docker コンテナーに HAProxy をデプロイする手順を共有しました。それらに従って、あなたのケースでも同じことを行ってください。