Creating a bind mount (a volume that has an explicitly declared directory underpinning it) is easy when using docker run:
docker run -v /var/app/data:/data:rw my-container
Now, anytime you write to the container’s
data directory, you will be writing to
/var/app/data as well.
You can do the same thing with the
docker run --mount type=bind,source=/var/app/data,target=/data my-container
Sometimes though you might want to create a bind mount that is independent of a container. This is less than clear but Cody Craven figured it out.
docker volume create \ --driver local \ -o o=bind \ -o type=none \ -o device=/var/app/data \ example-volume
The key value pairs passed with
-o are not well documented. The man page for
The built-in local driver on Linux accepts options similar to the linux mount command
The man page for
mount will have options similiar to the above, but structred differently.