Mount directories from a machine to your local host, using
The notation is
machinename:/path/to/dir for the argument; you can also supply an alternative mount point (default is the same dir path).
Consider the following example:
$ mkdir foo $ docker-machine ssh dev mkdir foo $ docker-machine mount dev:/home/docker/foo foo $ touch foo/bar $ docker-machine ssh dev ls foo bar
Now you can use the directory on the machine, for mounting into containers. Any changes done in the local directory, is reflected in the machine too.
$ eval $(docker-machine env dev) $ docker run -v /home/docker/foo:/tmp/foo busybox ls /tmp/foo bar $ touch foo/baz $ docker run -v /home/docker/foo:/tmp/foo busybox ls /tmp/foo bar baz
The files are actually being transferred using
sftp (over an ssh connection), so this program (“sftp”) needs to be present on the machine - but it usually is.
To unmount the directory again, you can use the same options but the
-u flag. You can also call
fusermount -u) commands directly.
$ docker-machine mount -u dev:/home/docker/foo foo $ rmdir foo
Files are actually being stored on the machine, not on the host. So make sure to make a copy of any files you want to keep, before removing it!
© 2019 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.