start.sh 914 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env bash
  2. NET='emqx.influx.io'
  3. NODE2_FQDN="emqx@emqx_2.$NET"
  4. NODE1_CONTAINER_NAME="emqx_1"
  5. NODE2_CONTAINER_NAME="emqx_2"
  6. INFLUXDB_CONTAINER_NAME="influxdb_server"
  7. export EMQX_IMAGE_TAG="${EMQX_IMAGE_TAG:-latest}"
  8. cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" || exit
  9. docker rm -f "$NODE1_CONTAINER_NAME" "$NODE2_CONTAINER_NAME" "$INFLUXDB_CONTAINER_NAME"
  10. docker-compose up -d
  11. wait_limit=60
  12. wait_for_emqx() {
  13. container="$1"
  14. wait_limit="$2"
  15. wait_sec=0
  16. while ! docker exec "$container" emqx_ctl status >/dev/null 2>&1; do
  17. wait_sec=$(( wait_sec + 1 ))
  18. if [ $wait_sec -gt "$wait_limit" ]; then
  19. echo "timeout wait for EMQX"
  20. exit 1
  21. fi
  22. echo -n '.'
  23. sleep 1
  24. done
  25. }
  26. wait_for_emqx "$NODE1_CONTAINER_NAME" 30
  27. wait_for_emqx "$NODE2_CONTAINER_NAME" 30
  28. echo
  29. docker exec "$NODE1_CONTAINER_NAME" emqx_ctl cluster join "$NODE2_FQDN"