Dockerホスト内でHAProxyを設定しようとしています。ユーザーを使用しているとき私の理解では、唯一の有効化され、 - 私はドッカーの組み込みDNSシステムを使用したいHAProxyとDockerを使用した動的DNS解決
# Simple configuration for an HTTP proxy listening on port 81 on all
# interfaces and forwarding requests to a single backend "servers" with a
# single server "server1" listening on 127.0.0.1:8000
global
daemon
maxconn 256
resolvers docker
# nameserver dnsmasq 127.0.0.1:53
nameserver dns 127.0.0.1:53
defaults
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
default-server init-addr none
frontend http-in
bind *:80
default_backend www_somedomain1_com
# Define hosts
acl host_www_somedomain1_com hdr(host) -i somedomain1.com
acl host_www_somedomain1_com hdr(host) -i www.somedomain1.com
acl host_www_somedomain2_com hdr(host) -i www.somedomain2.com
## figure out which one to use
use_backend www_somedomain1_com if host_www_somedomain1_com
use_backend www_somedomain2_com if host_www_somedomain2_com
backend www_somedomain1_com
# Utilizing the Docker DNS to resolve below host
# server server1 www-somedomain1-com maxconn 32 check port 80
server server1 www-somedomain1-com resolvers docker check maxconn 32
backend www_somedomain2_com
# Utilizing the Docker DNS to resolve below host
# server server1 www-somedomain2-com maxconn 32 check resolvers docker resolve-prefer ipv4
server server1 www-somedomain2-com maxconn 32 check port 80
:のように私のhaproxy.cfgに見えるHAProxy 1.7とドッカー1.12
を使用して
定義されたネットワーク。
だから私は、私は私の2つの名前付きドッキングウィンドウコンテナ、(私の-haproxyとWWW-somedomain1-COM)を実行すると、私はそのネットワークに追加
docker network create mynetwork
(デフォルトブリッジドライバを使用して)ネットワークを作成--netフラグ。
ドッカーは、コマンドを実行します。
docker run --name myhaproxy --net mynetwork -p 80:80 -d haproxy
docker run --name www-somedomain1-com --net mynetwork -d nginx
私はbashシェルでそれらに飛び乗ったときに、私は他の1つのコンテナから解決することができますので、ドッカーのDNSが機能している知っています。動的DNS解決を有効にするために、HAProxyに正しいコンボ/設定を取得できません。
HAProxy統計ページには、常にブラウン/解像度の問題として、下流のバックエンドを示して....
助けたいくつかの事柄: - 「デフォルト・サーバーのinit-addrには、いずれも」haproxy設定は、上のチェック渡すことができますありません起動。
ご指導ありがとうございます。
あなたは 'ドッカrun'コマンドを投稿することができますか?ドッカーを使用していない理由 - この環境で作成しますか? – jmiraglia
コンテナ内からdig/nslookupを実行できますか? – Baptiste
また、ソケットに「show stat resolvers」を発行してDNS解決統計情報のダンプを取得することもできます。どのタイプのエラーが報告されるかわかります – Baptiste