github.com/rootless-containers/rootlesskit/v2@v2.3.4/hack/integration-docker.sh (about) 1 #!/bin/bash 2 source $(realpath $(dirname $0))/common.inc.sh 3 4 nonloopback="$(hostname -I | awk '{print $1}')" 5 6 docker rm -f nginx >/dev/null 2>&1 || true 7 8 CURL="curl -fsSL" 9 set -x 10 11 docker run -d --name=nginx -p 8080:80 nginx:alpine 12 sleep 2 13 $CURL "http://127.0.0.1:8080" 14 $CURL "http://${nonloopback}:8080" 15 docker rm -f nginx 16 17 docker run -d --name=nginx -p 127.0.0.1:8080:80 nginx:alpine 18 sleep 2 19 $CURL "http://127.0.0.1:8080" 20 $CURL "http://${nonloopback}:8080" && ( ERROR "should fail"; exit 1 ) 21 docker rm -f nginx 22 23 # port driver "implicit" does not support binding on a non-loopback address: 24 # "Error starting userland proxy: listen tcp4 172.18.0.2:8080: bind: cannot assign requested address." 25 if [ "$DOCKERD_ROOTLESS_ROOTLESSKIT_PORT_DRIVER" != "implicit" ]; then 26 docker run -d --name=nginx -p "${nonloopback}:8080:80" nginx:alpine 27 sleep 2 28 $CURL "http://127.0.0.1:8080" && ( ERROR "should fail"; exit 1 ) 29 $CURL "http://${nonloopback}:8080" 30 docker rm -f nginx 31 fi 32 33 INFO "===== PASSING ====="