run.sh 731 B

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. set -eo pipefail
  3. dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
  4. image="$1"
  5. cname="redis-container-$RANDOM-$RANDOM"
  6. cid="$(docker run -d --name "$cname" "$image")"
  7. trap "docker rm -vf $cid > /dev/null" EXIT
  8. redis-cli() {
  9. docker run --rm -i \
  10. --link "$cname":redis \
  11. --entrypoint redis-cli \
  12. "$image" \
  13. -h redis \
  14. "$@"
  15. }
  16. # http://redis.io/topics/quickstart#check-if-redis-is-working
  17. . "$dir/../../retry.sh" --tries 20 '[ "$(redis-cli ping)" = "PONG" ]'
  18. [ "$(redis-cli set mykey somevalue)" = 'OK' ]
  19. [ "$(redis-cli get mykey)" = 'somevalue' ]
  20. docker stop "$cname"
  21. docker start "$cname"
  22. . "$dir/../../retry.sh" --tries 20 '[ "$(redis-cli ping)" = "PONG" ]'
  23. [ "$(redis-cli get mykey)" = 'somevalue' ]