FEATURE: ./launcher enter <CONTAINER>

This commit is contained in:
Sam 2014-06-27 15:57:12 +10:00
parent 3cb3d9c4ce
commit 2fc6ff3652
4 changed files with 37 additions and 0 deletions

2
.gitignore vendored
View file

@ -2,3 +2,5 @@ shared/*
*.swp
containers/*
cids/*
bin/*
image/nsenter/nsenter

0
bin/.gitkeep Normal file
View file

5
image/nsenter/Dockerfile Normal file
View file

@ -0,0 +1,5 @@
# NOTE build nsenter locally
# see: https://github.com/jpetazzo/nsenter
FROM busybox
ADD nsenter /nsenter

View file

@ -30,6 +30,7 @@ usage () {
echo " stop: Stop a running container"
echo " restart: Restart a container"
echo " destroy: Stop and remove a container"
echo " enter: Use nsenter to enter a container"
echo " ssh: Start a bash shell in a running container"
echo " logs: Docker logs for container"
echo " mailtest: Test the mail settings in a container"
@ -360,6 +361,35 @@ case "$command" in
exit 0
;;
enter)
if [ ! -e $cidfile ]
then
echo "No cid found"
exit 1
fi
if [ ! $UID -eq 0 ] ;
then
echo "enter command must run as root, will attempt to sudo"
echo
fi
if [ ! -e bin/nsenter ]
then
echo "Downloading nsenter"
$docker_path pull samsaffron/nsenter
($docker_path run --rm samsaffron/nsenter cat /nsenter > bin/nsenter1) || exit 1
cp bin/nsenter1 bin/nsenter
chmod +x bin/nsenter
fi
PID=$($docker_path inspect --format {{.State.Pid}} `cat $cidfile`)
SHELL=/bin/bash sudo -E bin/nsenter --target $PID --mount --uts --ipc --net --pid
exit 0;
;;
ssh)
if [ ! -e $cidfile ]
then