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
Metadata
Release files for docker-volume 0.4.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| docker-volume-0.4.post1.tar.gz | 8.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| docker_volume-0.4.post1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 26.1 kB
Release files / docker-volume-0.4.post1.tar.gz
| Download URL | docker-volume-0.4.post1.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e3058f39f74ed3d8375d6a03107afb4bb59ccc80e5b66e907bf38fea60a7b534
|
|
BLAKE2b-256 checksum How to use checksums |
614ad69fb8f09aff1871288b32aeb6148069e4c24aced0b5ef9d6699ca9046f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / docker_volume-0.4.post1-py3-none-any.whl
| Download URL | docker_volume-0.4.post1-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
956342c8c5ed5597bc620e832ccac02295f2534ca7443ffb96bbcaebff1c0dab
|
|
BLAKE2b-256 checksum How to use checksums |
33212103c4fa81502805b5f1a38892e5c5f36483c04a263f7a2f71d176191e95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for docker-volume 0.4.post1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.