run.sh 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/bin/bash
  2. set -eo pipefail
  3. dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
  4. image="$1"
  5. cname="docker-daemon-container-$RANDOM-$RANDOM"
  6. cid="$(
  7. docker run -d -it \
  8. --privileged \
  9. --name "$cname" \
  10. "$image"
  11. )"
  12. trap "docker rm -vf $cid > /dev/null" EXIT
  13. docker_() {
  14. docker run --rm -i \
  15. --link "$cname":docker \
  16. --entrypoint docker-entrypoint.sh \
  17. "$image" \
  18. "$@"
  19. }
  20. . "$dir/../../retry.sh" 'docker_ version'
  21. [ "$(docker_ images -q | wc -l)" = '0' ]
  22. docker_ pull busybox
  23. [ "$(docker_ images -q | wc -l)" = '1' ]
  24. [ "$(docker_ ps -aq | wc -l)" = '0' ]
  25. docker_ run --rm busybox true
  26. docker_ run --rm busybox true
  27. docker_ run --rm busybox true
  28. [ "$(docker_ ps -aq | wc -l)" = '0' ]
  29. docker_ create -i --name test1 busybox cat
  30. [ "$(docker_ ps -aq | wc -l)" = '1' ]
  31. [ "$(docker_ inspect -f '{{.State.Running}}' test1)" = 'false' ]
  32. docker_ start test1
  33. [ "$(docker_ inspect -f '{{.State.Running}}' test1)" = 'true' ]
  34. docker_ stop test1
  35. [ "$(docker_ inspect -f '{{.State.Running}}' test1)" = 'false' ]
  36. docker_ rm test1
  37. [ "$(docker_ ps -aq | wc -l)" = '0' ]