I'm trying to mount a single file from a Docker volume in a container when using "docker run".
I've been able to mount an entire volume as a directory, e.g:
docker run -v my_volume:/root/volume my_container
I've also mounted single files from the physical machine, e.g:
docker run -v /usr/local/bin/docker:/usr/local/bin/docker
Is there a way?
The Docker CLI provides the –mount and –volume options with a run command to bind a single file or directory.
Multiple containers can run with the same volume when they need access to shared data. Docker creates a local volume by default. However, we can use a volume diver to share data across multiple machines. Finally, Docker also has –volumes-from to link volumes between running containers.
Bind mounts and named volumes are the two main types of volumes that come with the Docker engine. However, additional volume drivers are available to support other use cases (SFTP, Ceph, NetApp, S3, and more).
Is there a way always destination path/file doesn't exist in the container, if you've created a named volume and a bind to its directory (similar to deprecated volumes_from)
docker run -v /var/lib/docker/volumes/my_volume/_data/MY_FILE.txt:/destination_folder/MY_FILE.txt
That's why when you create a named volume and run a service/container with docker run -v my_volume:/root/volume my_container
, data is stored in /var/lib/docker/volumes/my_volume/_data
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With