Skip to main content

Docker Volume Utility

Project description

docker-volume - Docker Volume Utility

https://circleci.com/gh/TakesxiSximada/docker-volume.svg?style=svg

INSTALL

$ pip install docker-volume

HOW TO USE IT

configuration

$REPO_ROOT/config/volume.yml

volumes:
  mysql:
    hostpath: ${here}/../volumes/mysql/
    vboxpath: /var/lib/mysql
    uid: 0
    gid: 0
    dmode: 777
  mongo:
    hostpath: ${here}/../volumes/mongo/
    vboxpath: /var/lib/mongo
    uid: 0
    gid: 0
    dmode: 777
  redis:
    hostpath: ${here}/../volumes/redis/
    vboxpath: /var/lib/redis
    uid: 0
    gid: 0
    dmode: 777

add volume

$ docker-volume add dev
EXECUTE: VBoxManage sharedfolder add dev --name docker-example_redis --hostpath /Users/sximada/ng/var/src/develop/docker-example/volumes/redis
EXECUTE: VBoxManage sharedfolder add dev --name docker-example_mysql --hostpath /Users/sximada/ng/var/src/develop/docker-example/volumes/mysql
EXECUTE: VBoxManage sharedfolder add dev --name docker-example_mongo --hostpath /Users/sximada/ng/var/src/develop/docker-example/volumes/mongo

Mount volume

Start docker machine.

$ docker-machine start dev
(dev) Starting VM...
Machine "dev" was started.
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

mount volume.

$ docker-volume mount dev
EXECUTE: docker-machine ssh dev "sudo mkdir -p /var/lib/mysql &&  sudo mount -t vboxsf -o uid=0,gid=0,dmode=777 docker-example_mysql /var/lib/mysql"
EXECUTE: docker-machine ssh dev "sudo mkdir -p /var/lib/mongo &&  sudo mount -t vboxsf -o uid=0,gid=0,dmode=777 docker-example_mongo /var/lib/mongo"
EXECUTE: docker-machine ssh dev "sudo mkdir -p /var/lib/redis &&  sudo mount -t vboxsf -o uid=0,gid=0,dmode=777 docker-example_redis /var/lib/redis"

Make sure that it is mounted.

$ docker-machine ssh dev "mount | grep /var/lib"
/dev/sda1 on /mnt/sda1/var/lib/docker/aufs type ext4 (rw,relatime,data=ordered)
none on /var/lib/mongo type vboxsf (rw,nodev,relatime)
none on /var/lib/redis type vboxsf (rw,nodev,relatime)
none on /var/lib/mysql type vboxsf (rw,nodev,relatime)

Unmount volume

Unmount volume.

$ docker-volume unmount dev
EXECUTE: docker-machine ssh dev "sudo umount /var/lib/redis"
EXECUTE: docker-machine ssh dev "sudo umount /var/lib/mysql"
EXECUTE: docker-machine ssh dev "sudo umount /var/lib/mongo"

Make sure that it is unmounted.

$ docker-machine ssh dev "mount | grep /var/lib"
/dev/sda1 on /mnt/sda1/var/lib/docker/aufs type ext4 (rw,relatime,data=ordered)

Remove volume

Stop docker machine.

$ docker-machine stop dev
(dev) Stopping VM...
Machine "dev" was stopped.

Remove volume.

$ docker-volume remove dev
EXECUTE: VBoxManage sharedfolder remove dev --name docker-example_mongo
EXECUTE: VBoxManage sharedfolder remove dev --name docker-example_mysql
EXECUTE: VBoxManage sharedfolder remove dev --name docker-example_redis

Volume name

Volume name is ${REPOSITORY_DIRECTORY_NAME}_${VOLUME_NAME}.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docker-volume-0.1.dev0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

docker_volume-0.1.dev0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file docker-volume-0.1.dev0.tar.gz.

File metadata

File hashes

Hashes for docker-volume-0.1.dev0.tar.gz
Algorithm Hash digest
SHA256 78f3b40d3515fe0ed78307c7a1295c412d8242c374a370007b74d1b0fcd6cbb7
MD5 c38ae1c1d755b2f835c2956169ad7f82
BLAKE2b-256 e69dcd96b18a49082db73ee47810667f4021f8c790e228c1c9233980470abff8

See more details on using hashes here.

File details

Details for the file docker_volume-0.1.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for docker_volume-0.1.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 064300798d4d78db76b9e6db3c30b09156eb37200c29568f5b96c2fde1cc28e3
MD5 0354102faa1291ce71644194f656fb30
BLAKE2b-256 328dd89365efbd0ff4dfb8be0484f87ba5eeed3ce2fe6997c4815691d123b232

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page