ここ数日、Digtital Ocean で Docker swarm の作成に取り組んできました。注: 他のアプリ/コンテナーとの通信には使用したくありません。-link
技術的に非推奨と見なされており、docker swarm ではうまく機能しないためです (つまり、アプリケーションを再構成せずにロード バランサーにアプリ インスタンスを追加することはできません)。群れ全体)
このガイドに従って、1 台のサーバーをコンソールを実行する kv-store サーバーとして使用しています。私は Digital Ocean にいるので、マシンが互いに通信できるように、DO でプライベート ネットワークを使用しています。
次に、ハイブ マスターとスレーブを作成し、すべてのマシンで実行されているオーバーレイ ネットワークを開始します。ここに私の docker-compose.yml があります
proxy:
image: tutum/haproxy
ports:
- "1936:1936"
- "80:80"
web:
image: tutum/hello-world
expose:
- "80"
したがって、これを行うと、2 つのコンテナーが作成されます。のポート 1936 で統計情報にアクセスできるため、HAProxy は実行されていhttp://<ip-address>:1936
ますが、ポート 80 で Web サーバー/ロード バランサーにアクセスしようとすると、接続が拒否されます。私が実行すると、すべてが接続されているようdocker-compose ps
に見えます:
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------------------
splashcloud_proxy_1 python /haproxy/main.py Up 104.236.109.58:1936->1936/tcp, 443/tcp, 104.236.109.58:80->80/tcp
splashcloud_web_1 /bin/sh -c php-fpm -d vari ... Up 80/tcp
考えられる唯一のことは、Web コンテナーにリンクしていないということですが、これをトラブルシューティングする方法がわかりません。
これについて何か助けていただければ幸いです。