node-docker-share icon indicating copy to clipboard operation
node-docker-share copied to clipboard

Mount Share not working with Docker-Share

Open sunilit42 opened this issue 8 years ago • 12 comments

docker-share mount -m default -t . /var/www/magento2 Command failed: docker-machine ssh default sudo mount -t vboxsf -o defaults,uid=id -u docker,gid=id -g docker data /c/Program Files/Git/var/www/magento2 BusyBox v1.24.2 (2016-05-16 13:23:40 UTC) multi-call binary.

Usage: mount [OPTIONS] [-o OPT] DEVICE NODE

Mount a filesystem. Filesystem autodetection requires /proc.

    -a              Mount all filesystems in fstab
    -f              Dry run
    -i              Don't run mount helper
    -v              Verbose
    -r              Read-only mount
    -t FSTYPE[,...] Filesystem type(s)
    -T FILE         Read FILE instead of /etc/fstab
    -O OPT          Mount only filesystems with option OPT (-a only)

-o OPT: loop Ignored (loop devices are autodetected) [a]sync Writes are [a]synchronous [no]atime Disable/enable updates to inode access times [no]diratime Disable/enable atime updates to directories [no]relatime Disable/enable atime updates relative to modification time [no]dev (Dis)allow use of special device files [no]exec (Dis)allow use of executable files [no]suid (Dis)allow set-user-id-root programs [r]shared Convert [recursively] to a shared subtree [r]slave Convert [recursively] to a slave subtree [r]private Convert [recursively] to a private subtree [un]bindable Make mount point [un]able to be bind mounted [r]bind Bind a file or directory [recursively] to another location move Relocate an existing mount point remount Remount a mounted filesystem, changing flags ro Same as -r

There are filesystem-specific -o flags. exit status 1 .

sunilit42 avatar Apr 14 '17 11:04 sunilit42

It's hard to see what's going on here. Would you mind running the steps manually and posting the output in a gist?

vweevers avatar Apr 14 '17 11:04 vweevers

I am trying to mount directory of docker in window home edition.

docker-share mount -m default -t . /var/www/magento2 Where default is my virtual machine name.

But when i run above command, getting below error

Command failed: docker-machine ssh default sudo mount -t vboxsf -o defaults,uid=id -u docker,gid=id -g docker data /c/Program Files/Git/var/www/magento2 BusyBox v1.24.2 (2016-05-16 13:23:40 UTC) multi-call binary.

Usage: mount [OPTIONS] [-o OPT] DEVICE NODE

Mount a filesystem. Filesystem autodetection requires /proc.

-a              Mount all filesystems in fstab
-f              Dry run
-i              Don't run mount helper
-v              Verbose
-r              Read-only mount
-t FSTYPE[,...] Filesystem type(s)
-T FILE         Read FILE instead of /etc/fstab
-O OPT          Mount only filesystems with option OPT (-a only)

-o OPT: loop Ignored (loop devices are autodetected) [a]sync Writes are [a]synchronous [no]atime Disable/enable updates to inode access times [no]diratime Disable/enable atime updates to directories [no]relatime Disable/enable atime updates relative to modification time [no]dev (Dis)allow use of special device files [no]exec (Dis)allow use of executable files [no]suid (Dis)allow set-user-id-root programs [r]shared Convert [recursively] to a shared subtree [r]slave Convert [recursively] to a slave subtree [r]private Convert [recursively] to a private subtree [un]bindable Make mount point [un]able to be bind mounted [r]bind Bind a file or directory [recursively] to another location move Relocate an existing mount point remount Remount a mounted filesystem, changing flags ro Same as -r

There are filesystem-specific -o flags. exit status 1

sunilit42 avatar Apr 14 '17 11:04 sunilit42

It could be a quoting issue (because there's a space in /c/Program Files/Git/var/www/magento2).

This tool is a small wrapper around some shell commands. Please run these commands manually, and see if you can add quotes around the path. Post the raw output in a gist, to prevent GitHub from formatting it and to keep this thread readable. I'm afraid I can't help you otherwise. Thanks!

vweevers avatar Apr 14 '17 12:04 vweevers

is that work with window home edition?

sunilit42 avatar Apr 14 '17 12:04 sunilit42

is that work with window home edition?

I'd be surprised if it wasn't. It's only calling the vboxmanage and docker-machine binaries.

vweevers avatar Apr 14 '17 13:04 vweevers

Dcoker - HyperV is not available on Home editions, HyperV need to for share drive.

sunilit42 avatar Apr 14 '17 13:04 sunilit42

HyperV is required to run Docker for Windows. If you have that, you don't need docker-share at all. This tool is for Docker Toolbox.

vweevers avatar Apr 14 '17 13:04 vweevers

I am using Docker ToolBox, and but it is not working.

sunilit42 avatar Apr 14 '17 13:04 sunilit42

Did you try the commands, with quotes around the path?

vweevers avatar Apr 14 '17 13:04 vweevers

i try but not working, can you help me if i am sharing TeamViewer access?

sunilit42 avatar Apr 14 '17 13:04 sunilit42

Hi there, thanks for this tool! I am also getting the error posted in the question. I tried running the steps manually. The first step fails:

$ "$VBOX_MSI_INSTALL_PATH/vboxmanage" sharedfolder add default --name ros1 --hostpath "%cd%" --transient
vboxmanage.exe: error: Shared folder path '%cd%' is not absolute
vboxmanage.exe: error: Details: code E_INVALIDARG (0x80070057), component SharedFolderWrap, interface ISharedFolder, callee IUnknown
vboxmanage.exe: error: Context: "CreateSharedFolder(Bstr(name).raw(), Bstr(hostpath).raw(), fWritable, fAutoMount)" at line 1006 of file VBoxManageMisc.cpp

Am I supposed to replace %cd% with something?

Also I tried a different project name and I got an error that it already existed so I continued with the next steps anyway just to see, and failed on the 3rd step:

$ docker-machine ssh default "sudo mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` my-project /d/ros"

id: ‘docker’: no such user
id: ‘docker’: no such user
uid= requires an argument (i.e. uid==<arg>)
mount: mounting my-project on /d/ros failed: Protocol error
exit status 1

Any help would be appreciated, thanks ahead!

joniba avatar May 31 '17 16:05 joniba

@joniba are you using git bash or something similar? I wrote the instructions for cmd, which substitutes %cd% with the current working directory. In any other shell, please replace %cd% manually. Can't use the bash equivalent pwd as that gives a cygwin-style /c/foo/bar, but we want C:\foo\bar.

Same reason for the ssh step. Try escaping the backticks around id -u docker and id -g docker to prevent bash (on the Windows machine) from evaluating it.

vweevers avatar May 31 '17 20:05 vweevers