Skip to content

Commit

Permalink
Add docker hub functionality to r2-docker script and remove all cap b…
Browse files Browse the repository at this point in the history
…y default
  • Loading branch information
ryarnyah authored and radare committed Mar 24, 2017
1 parent ce6878f commit 10f5ee8
Showing 1 changed file with 28 additions and 9 deletions.
37 changes: 28 additions & 9 deletions sys/r2-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,34 +10,53 @@ if [ "`echo $IFILE | cut -c 1`" != / ]; then
fi

showHelp() {
echo "Usage: r2-docker [-u] [file] [...]"
echo " -u update/build the radare2 docker image"
echo "Usage: r2-docker [-pudlsr] [file] [...]"
echo " -p pull latest radare2 docker image from docker hub"
echo " -u build the radare2 docker image"
echo " -d debug program (linux-x86-32/64)"
echo " -l list radare2 docker images"
echo " -s enter the shell"
echo " -r remove radare2 docker image"
exit 1
}

# Check if docker is present
[[ ! $(command -v docker) ]] && (
echo "You must install docker first. (see https://docs.docker.com/engine/installation/)"
) && exit 1

# Add capatibility to use ptrace with radare2
ALLOW_DEBUG="--cap-add=SYS_PTRACE"
#ALLOW_DEBUG="--security-opt seccomp:unconfined"
#ALLOW_DEBUG="--privileged"

# Remove by default all capatibilities
DEFAULT_CAP="--cap-drop=ALL"

case "$1" in
-p)
docker pull radare/radare2:latest
# Tag image to preserve old reference
docker tag radare/radare2:latest radare2:latest
;;
-r)
docker rmi radare2
# Delete all radare2 containers
docker rm -f $(docker ps -a | grep radare2 | awk '{print $1}') 2> /dev/null
# Delete tag to preserve old reference
docker rmi radare2:latest 2> /dev/null
docker rmi radare/radare2:latest 2> /dev/null
;;
-d)
R2FLAGS=-d $0 $2
;;
-u)
docker build -t radare2 .
docker build -t radare/radare2:latest .
# Tag image to preserve old reference
docker tag radare/radare2:latest radare2:latest
;;
-l)
docker images | grep radare2
;;
shell|sh|-s)
docker run ${ALLOW_DEBUG} -v $PWD/dockervol:/mnt -ti radare2 || echo "run r2-docker -u to update the docker image"
docker run ${ALLOW_DEBUG} ${DEFAULT_CAP} -v $PWD/dockervol:/mnt -ti radare/radare2:latest || echo "run r2-docker -u to update the docker image"
;;
-h|'')
showHelp
Expand All @@ -50,10 +69,10 @@ shell|sh|-s)
rm -rf dockervol
mkdir -p dockervol
cp -f "$1" "dockervol/$F"
docker run ${ALLOW_DEBUG} -v $PWD/dockervol:/mnt -p 9090:9090 -ti radare2 r2 ${R2FLAGS} /mnt/$F
docker run ${ALLOW_DEBUG} ${DEFAULT_CAP} -v $PWD/dockervol:/mnt -p 9090:9090 -ti radare/radare2:latest r2 ${R2FLAGS} /mnt/$F
rm -rf dockervol
else
docker run ${ALLOW_DEBUG} -v $PWD/dockervol:/mnt -p 9090:9090 -ti radare2 r2 ${R2FLAGS} $1
docker run ${ALLOW_DEBUG} ${DEFAULT_CAP} -v $PWD/dockervol:/mnt -p 9090:9090 -ti radare/radare2:latest r2 ${R2FLAGS} $1
fi
;;
esac
Expand Down

0 comments on commit 10f5ee8

Please sign in to comment.