run.sh 799 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. set -eo pipefail
  3. dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
  4. image="$1"
  5. vname="varnish-volume-$RANDOM-$RANDOM"
  6. trap "docker volume rm $vname > /dev/null" EXIT
  7. docker volume create --driver local \
  8. --opt type=tmpfs \
  9. --opt device=tmpfs \
  10. --opt o=size=100m \
  11. $vname
  12. cname="varnish-container-$RANDOM-$RANDOM"
  13. cid="$(
  14. docker run -d \
  15. -v $vname:/var/lib/varnish \
  16. --name "$cname" \
  17. "$image" \
  18. varnishd -F -a 0:0 -f /etc/varnish/default.vcl
  19. )"
  20. trap "docker rm -vf $cid > /dev/null; docker volume rm $vname > /dev/null" EXIT
  21. sidecar() {
  22. docker run --rm -i \
  23. --network container:"$cid" \
  24. -v $vname:/var/lib/varnish \
  25. "$image" \
  26. "$@" > /dev/null
  27. }
  28. sidecar varnishlog -d
  29. sidecar varnishncsa -d
  30. sidecar varnishstat -1
  31. sidecar varnishreload
  32. sidecar varnishadm ping