Management tool of VirtualBox Volume for Docker
Project description
It provide function of mounting local directories on the VirtualBox instance with mount option. Using Docker Toolbox.
Install
Need Docker Toolbox.
$ pip install docker-volume
How to use it
Configuration
$REPO_ROOT/docker-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
EXECUTE: VBoxManage sharedfolder add default --name docker-example_redis --hostpath /path/to/hostdir/volumes/redis
EXECUTE: VBoxManage sharedfolder add default --name docker-example_mysql --hostpath /path/to/hostdir/volumes/mysql
EXECUTE: VBoxManage sharedfolder add default --name docker-example_mongo --hostpath /path/to/hostdir/volumes/mongo
Mount volume
Start docker machine.
$ docker-machine start default
(dev) Starting VM...
Machine "default" 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
EXECUTE: docker-machine ssh default "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 default "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 default "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 default "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
EXECUTE: docker-machine ssh default "sudo umount /var/lib/redis"
EXECUTE: docker-machine ssh default "sudo umount /var/lib/mysql"
EXECUTE: docker-machine ssh default "sudo umount /var/lib/mongo"
Make sure that it is unmounted.
$ docker-machine ssh default "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) Stopping VM...
Machine "default" was stopped.
Remove volume.
$ docker-volume remove
EXECUTE: VBoxManage sharedfolder remove default --name docker-example_mongo
EXECUTE: VBoxManage sharedfolder remove default --name docker-example_mysql
EXECUTE: VBoxManage sharedfolder remove default --name docker-example_redis
Volume name
Volume name is ${REPOSITORY_DIRECTORY_NAME}_${VOLUME_NAME}.
Other
If you want to specify the machine name it?
It specifies the -m or –machine option.
$ docker-volume add --dry-run --machine example
EXECUTE: VBoxManage sharedfolder add example --transient --name docker-volume_repo --hostpath /path/to/hostdir/volumes/docker-volume
EXECUTE: VBoxManage sharedfolder add example --transient --name docker-volume_spam --hostpath /path/to/hostdir/volumes/spam
EXECUTE: VBoxManage sharedfolder add example --transient --name docker-volume_ham --hostpath /path/to/hostdir/volumes/ham
If you want to specify the single volume?
It will specify a volume name if you want to operate a volume.
$ docker-volume add --dry-run spam
EXECUTE: VBoxManage sharedfolder add default --transient --name docker-volume_spam --hostpath /path/to/hostdir/volumes/spam
and it will specify two volume name if you want to operate two volumes.
$ docker-volume add --dry-run spam ham
EXECUTE: VBoxManage sharedfolder add default --transient --name docker-volume_spam --hostpath /path/to/hostdir/volumes/spam
EXECUTE: VBoxManage sharedfolder add default --transient --name docker-volume_ham --hostpath /path/to/hostdir/volumes/ham
If you do not specify a volume name, all volumes are operation.
Development
Source code repository: https://pypi.python.org/pypi/docker-volume
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file docker-volume-0.4.post1.tar.gz
.
File metadata
- Download URL: docker-volume-0.4.post1.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3058f39f74ed3d8375d6a03107afb4bb59ccc80e5b66e907bf38fea60a7b534 |
|
MD5 | 4179d71b40dbb67da8abb97d5c2cae85 |
|
BLAKE2b-256 | 614ad69fb8f09aff1871288b32aeb6148069e4c24aced0b5ef9d6699ca9046f7 |
File details
Details for the file docker_volume-0.4.post1-py3-none-any.whl
.
File metadata
- Download URL: docker_volume-0.4.post1-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 956342c8c5ed5597bc620e832ccac02295f2534ca7443ffb96bbcaebff1c0dab |
|
MD5 | 38c4034c8f75fea9ff99c62e0fbbe726 |
|
BLAKE2b-256 | 33212103c4fa81502805b5f1a38892e5c5f36483c04a263f7a2f71d176191e95 |