サーチ…


ドッカーでコンサルを実行する

これは、Docker 1.12の新しいスウォームモードを使用して、ドッカーの群れのクラスターモードでコンサルを実行するための公式の領事ドッカー画像に依存します。この例はhttp://qnib.org/2016/08/11/consul-service/に基づいています。簡単に言うと、お互いに話している2つのドッカー集団サービスを使用することです。これは、個々のコンサルタントのコンテナの隙間を前に知ることができず、ドッカーの群れのDNSに頼ることができるという問題を解決します。

これは、すでに少なくとも3つのノードを持つドッカー1.12群集クラスタを実行していることを前提としています。

ドッカーデーモンにログドライバを設定して、何が起きているのかを確認することができます。私はこのためにsyslogドライバを使用しました: --log-driver=syslog log --log-driver=syslogオプションをdockerdに設定してください。

領事のためのオーバーレイネットワークを作成します。

docker network create consul-net -d overlay

今すぐ1つのノードでクラスタをブートストラップします(デフォルト--replicasは1です)。

docker service create --name consul-seed \
  -p 8301:8300 \
  --network consul-net \
  -e 'CONSUL_BIND_INTERFACE=eth0' \
  consul agent -server -bootstrap-expect=3  -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300

これで、1つのノードクラスタが存在するはずです。今すぐ第2のサービスを立ち上げてください:

docker service create --name consul-cluster \
  -p 8300:8300 \
  --network consul-net \
  --replicas 3 \
  -e 'CONSUL_BIND_INTERFACE=eth0' \
  consul agent -server -retry-join=consul-seed:8301 -retry-join=consul-cluster:8300 

これで、4ノードの領事クラスターが作成されます。これを確認するには、任意のドッカーコンテナで実行します。

docker exec <containerid> consul members


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow