1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#!/bin/bash
set -eux
set -o pipefail
DEBOOTSTRAP_SUITE=bookworm
## exit helpers
exit_traps=( 'true' )
defer() {
exit_traps=( "$@" "${exit_traps[@]}" )
}
do_exit() {
for exit_trap in "${exit_traps[@]}"; do
eval "$exit_trap" || true
done
}
trap 'do_exit' EXIT
## main
systemctl start docker
defer 'systemctl stop docker'
defer 'journalctl -u docker | tail -n 100'
docker version
tmpdir="$(mktemp -d)"
defer "rm -rf '$tmpdir'"
debootstrap \
--variant=minbase \
$DEBOOTSTRAP_SUITE \
"$tmpdir" \
http://deb.debian.org/debian
tar -cC "$tmpdir" . | docker import - debian
defer 'docker rmi debian'
docker run --name test debian true
defer 'docker rm -f test'
# https://bugs.debian.org/1092165
# https://github.com/moby/moby/issues/49197
docker network create foo
defer 'docker network rm foo'
docker network create bar
defer 'docker network rm bar'
docker run -d --name test-1092165 --network foo debian sleep 10000
defer 'docker rm -f test-1092165'
docker network connect bar test-1092165
|