title: Multi-host Validating Peer Cluster Setup
body: <p>I am attempting to create a cluster of Hyperledger validating peers, each running on a different host, but it does not appear to be functioning properly.</p>
  
  <p>After starting the root node and 3 peer nodes, this is the output running <code>peer network list</code> on the root node, <code>vp0</code>:</p>
  
  <pre><code>{"peers":[{"ID":{"name":"vp1"},"address":"172.17.0.2:30303","type":1},{"ID":{"name":"vp2"},"address":"172.17.0.2:30303","type":1},{"ID":{"name":"vp3"},"address":"172.17.0.2:30303","type":1}]}
  </code></pre>
  
  <p>This is the output from the same command on one of the peers, <code>vp3</code>:</p>
  
  <pre><code>{"peers":[{"ID":{"name":"vp0"},"address":"172.17.0.2:30303","type":1},{"ID":{"name":"vp3"},"address":"172.17.0.2:30303","type":1}]}
  </code></pre>
  
  <p>All of the peers only list themselves and the root, <code>vp0</code>, in their lists.</p>
  
  <p>This is the log output from the root node, <code>vp0</code>: <a href="https://gist.github.com/mikezaccardo/f139eaf8004540cdfd24da5a892716cc" rel="nofollow">https://gist.github.com/mikezaccardo/f139eaf8004540cdfd24da5a892716cc</a></p>
  
  <p>This is the log output from one of the peer nodes, <code>vp3</code>: <a href="https://gist.github.com/mikezaccardo/7379584ca4f67bce553c288541e3c58e" rel="nofollow">https://gist.github.com/mikezaccardo/7379584ca4f67bce553c288541e3c58e</a></p>
  
  <p>This is the command I'm running to create the root node:</p>
  
  <pre><code>nohup sudo docker run --name=$HYPERLEDGER_PEER_ID \
              --restart=unless-stopped \
              -i \
              -p 5000:5000 \
              -p 30303:30303 \
              -p 30304:30304 \
              -p 31315:31315 \
              -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 \
              -e CORE_PEER_ID=$HYPERLEDGER_PEER_ID \
              -e CORE_PEER_ADDRESSAUTODETECT=true \
              -e CORE_PEER_NETWORKID=dev \
              -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft \
              -e CORE_PBFT_GENERAL_MODE=classic \
              -e CORE_PBFT_GENERAL_N=$HYPERLEDGER_CLUSTER_SIZE \
              -e CORE_PBFT_GENERAL_TIMEOUT_REQUEST=10s \
              joequant/hyperledger /bin/bash -c "rm config.yaml; cp /usr/share/go-1.6/src/github.com/hyperledger/fabric/consensus/obcpbft/config.yaml .; peer node start" &gt; $HYPERLEDGER_PEER_ID.log 2&gt;&amp;1&amp;
  </code></pre>
  
  <p>And this is the command I'm running to create each of the other peer nodes:</p>
  
  <pre><code>nohup sudo docker run --name=$HYPERLEDGER_PEER_ID \
              --restart=unless-stopped \
              -i \
              -p 30303:30303 \
              -p 30304:30304 \
              -p 31315:31315 \
              -e CORE_VM_ENDPOINT=http://172.17.0.1:4243 \
              -e CORE_PEER_ID=$HYPERLEDGER_PEER_ID \
              -e CORE_PEER_DISCOVERY_ROOTNODE=$HYPERLEDGER_ROOT_NODE_ADDRESS:30303 \
              -e CORE_PEER_ADDRESSAUTODETECT=true \
              -e CORE_PEER_NETWORKID=dev \
              -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=pbft \
              -e CORE_PBFT_GENERAL_MODE=classic \
              -e CORE_PBFT_GENERAL_N=$HYPERLEDGER_CLUSTER_SIZE \
              -e CORE_PBFT_GENERAL_TIMEOUT_REQUEST=10s \
              joequant/hyperledger /bin/bash -c "rm config.yaml; cp /usr/share/go-1.6/src/github.com/hyperledger/fabric/consensus/obcpbft/config.yaml .; peer node start" &gt; $HYPERLEDGER_PEER_ID.log 2&gt;&amp;1&amp;
  </code></pre>
  
  <p><code>HYPERLEDGER_PEER_ID</code> is <code>vp0</code> for the root node and <code>vp1</code>, <code>vp2</code>, ... for the peer nodes, <code>HYPERLEDGER_ROOT_NODE_ADDRESS</code> is the public IP address of the root node, and <code>HYPERLEDGER_CLUSTER_SIZE</code> is 4.</p>
  
  <p>This is the Docker image that I am using: github.com/joequant/hyperledger</p>
  
  <p>Is there anything obviously wrong with my commands? Should the actual public IP addresses of the peers be showing up as opposed to just <code>172.17.0.2</code>? Are my logs helpful / is any additional information needed?</p>
  
  <p>Any help or insight would be greatly appreciated, thanks!</p>