Skip to content

Instantly share code, notes, and snippets.

@apatil
Last active February 2, 2017 11:52
Show Gist options
  • Save apatil/d6e6c95115bce01a49d1 to your computer and use it in GitHub Desktop.
Save apatil/d6e6c95115bce01a49d1 to your computer and use it in GitHub Desktop.
Shared mounts
#!/usr/bin/env bash
ROOTDIR=$PWD
echo "Setting up"
mkdir -p $ROOTDIR/shared
sudo mount --bind $ROOTDIR/shared $ROOTDIR/shared
sudo mount --make-unbindable $ROOTDIR/shared
sudo mount --make-shared $ROOTDIR/shared
mkdir -p $ROOTDIR/shared2
sudo mount --bind $ROOTDIR/shared $ROOTDIR/shared2
mkdir -p $ROOTDIR/shared2/usr
sudo mount --bind /usr $ROOTDIR/shared2/usr
echo "This directory should not be empty:"
ls $ROOTDIR/shared/usr
echo "Cleaning up"
sudo umount $ROOTDIR/shared2/usr
sudo rm -r $ROOTDIR/shared2/usr
sudo umount $ROOTDIR/shared2
sudo rm -r $ROOTDIR/shared2
sudo umount $ROOTDIR/shared
#!/usr/bin/env bash
ROOTDIR=$PWD
echo "Setting up"
mkdir -p $ROOTDIR/shared
sudo mount --bind $ROOTDIR/shared $ROOTDIR/shared
sudo mount --make-unbindable $ROOTDIR/shared
sudo mount --make-shared $ROOTDIR/shared
echo "Running docker container and mounting from inside it"
CTR=$(sudo docker run -t -d --privileged -v $ROOTDIR/shared:/shared ubuntu:12.04 /bin/bash -c 'mount --bind /usr /shared;sleep infinity')
sleep 1
echo "This directory should not be empty:"
ls $ROOTDIR/shared
echo "Cleaning up"
sudo umount $ROOTDIR/shared
sudo docker kill $CTR
sudo docker rm $CTR
sudo umount $ROOTDIR/shared
sudo rm -r $ROOTDIR/shared
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment