2018-08-21 17:33:56 +00:00
|
|
|
#!/usr/bin/env bash
|
2018-08-21 17:11:34 +00:00
|
|
|
|
2018-08-21 17:33:56 +00:00
|
|
|
set -e
|
2018-08-21 17:11:34 +00:00
|
|
|
versions="3.2.20 3.6.6 4.0.1 4.1.2"
|
|
|
|
|
|
|
|
function launch() {
|
|
|
|
VERSION=$1
|
|
|
|
CONTAINER_NAME="zgrab_mongodb-$VERSION"
|
|
|
|
if docker ps --filter "name=$CONTAINER_NAME" | grep -q $CONTAINER_NAME; then
|
|
|
|
echo "mongodb/setup: Container $CONTAINER_NAME already running -- skipping launch..."
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
docker run -td --rm --name $CONTAINER_NAME -d mongo:$VERSION
|
|
|
|
}
|
|
|
|
|
|
|
|
function waitFor() {
|
|
|
|
VERSION=$1
|
|
|
|
CONTAINER_NAME=zgrab_mongodb-$VERSION
|
|
|
|
echo "mongodb/setup: Waiting for $CONTAINER_NAME to become ready..."
|
|
|
|
while ! (docker logs --tail all $CONTAINER_NAME | grep -q "waiting for connections"); do
|
|
|
|
echo -n "."
|
|
|
|
sleep 1
|
|
|
|
done
|
|
|
|
for i in `seq 1 5`; do
|
|
|
|
echo -n "*"
|
|
|
|
sleep 1
|
|
|
|
done
|
|
|
|
echo "...ok."
|
|
|
|
}
|
|
|
|
|
|
|
|
echo "mongodb/setup: Launching docker containers..."
|
|
|
|
for version in $versions; do
|
|
|
|
launch $version
|
|
|
|
done
|
|
|
|
|
|
|
|
for version in $versions; do
|
|
|
|
waitFor $version
|
|
|
|
done
|