mineshaftgap / d4m-nfs

Docker for Mac with NFS for performance improvements over osxfs
296 stars 26 forks source link

Cannot start service applications: Mounts denied #44

Closed TheDagger closed 7 years ago

TheDagger commented 7 years ago

I just want to say the script was working for me a while ago and now it no longer seems to mount correctly, or it does so oddly.

I noticed in the notes of d4m it says...

Common Problem

It appears as though a number of people are blindly copying the mounts from the preference in Docker for Mac to d4m-nfs/etc/d4m-nfs-mounts.txt. In doing this they end up having a /Volumes, /private and /Users mounts. If you are getting an error similar to the following, you might of done this:

My exports file after its created looks like this...


# d4m-nfs exports

"/Users" -alldirs -mapall=0:0 localhost
"/private" -alldirs -mapall=0:0 localhost

Current error I get when doing docker-compose up is (ERROR: for dbdev Cannot start service dbdev: Mounts denied: osxfs/#namespaces for more info.)

Any help or ideas is appreciated. Oddly restarting my computer makes it work the first time but if I shutdown docker-compose then it won't start back up again?? Any help is appreciated and I'll update my stackoverflow answer to reflect the fix. (For your reference here it is, http://stackoverflow.com/questions/38168130/docker-on-osx-slow-volumes/42679301#42679301, shows step by step what I did just with the only change now being what I'm doing with the export file)

Just wanted to update and say that it seems to work when I restart docker the first time and then doesn't work if I have to docker-compose down and up again. It never did this before though and worked perfectly which is odd?

TheDagger commented 7 years ago

Just wanted to update I tried changing my d4m-nfs-mounts.txt file to this but still didn't work even after restarting docker.

/Users/josephastrahan:/Users/josephastrahan:0:0

I did notice the export giving this error now for some reason...

exports:4: path contains non-directory or non-existent components: /Users/root exports:4: no usable directories in export entry exports:4: using fallback (marked offline): / [d4m-nfs] Something is wrong with your /etc/exports file, please check it.

Exports looked like this

d4m-nfs exports

"/Users/josephastrahan" -alldirs -mapall=0:0 localhost
"/Users/root" -alldirs -mapall=0:0 localhost

Not sure what I did wrong?

if-kenn commented 7 years ago

@TheDagger the Mac OS does not by default have a /Users/root directory, it does however have a root user.

Did you actually create /Users/root on your Mac? If you did, I would recommend against it as I would this it could cause complications. If you did not then I would remove it from /etc/exports and d4m-nfs-mounts.txt.

if-kenn commented 7 years ago

I have a theory why you might have that entry, you probably at one point ran d4m-nfs.sh with sudo so the script thought you were the root user. This is not how it should be run.

TheDagger commented 7 years ago

ah I did run it as sudo actually. Yup you are right that is why it was causing that particular error anyways, checking now to see if there is still an issue with docker-compose now

TheDagger commented 7 years ago

I ran the script this time and I think the reason its not working is possibly because of this...

rm: /tmp/d4m-apk-cache/.gitignore: Permission denied rm: /tmp/d4m-apk-cache/APKINDEX.c51f8f92.tar.gz: Permission denied rm: /tmp/d4m-apk-cache/device-mapper-libs-2.02.168-r3.f4cca5a0.apk: Permission denied rm: /tmp/d4m-apk-cache/installed: Permission denied rm: /tmp/d4m-apk-cache/libevent-2.0.22-r2.2d7fc728.apk: Permission denied rm: /tmp/d4m-apk-cache/libmount-2.28.2-r1.223b2a8e.apk: Permission denied rm: /tmp/d4m-apk-cache/libnfsidmap-0.25-r1.a80c1ad9.apk: Permission denied rm: /tmp/d4m-apk-cache/libtirpc-1.0.1-r0.aca28f16.apk: Permission denied rm: /tmp/d4m-apk-cache/nfs-utils-1.3.4-r0.5e5c9fb3.apk: Permission denied rm: /tmp/d4m-apk-cache/rpcbind-0.2.3-r3.05d284fc.apk: Permission denied rm: /tmp/d4m-apk-cache/sntpc-0.9-r6.e4a22e1e.apk: Permission denied rm: /tmp/d4m-apk-cache/sqlite-libs-3.15.2-r0.fd30a21b.apk: Permission denied rm: /tmp/d4m-apk-cache: Permission denied cp: /tmp/d4m-apk-cache/.gitignore: Permission denied cp: /tmp/d4m-apk-cache/APKINDEX.c51f8f92.tar.gz: Permission denied cp: /tmp/d4m-apk-cache/device-mapper-libs-2.02.168-r3.f4cca5a0.apk: Permission denied cp: /tmp/d4m-apk-cache/installed: Permission denied cp: /tmp/d4m-apk-cache/libevent-2.0.22-r2.2d7fc728.apk: Permission denied cp: /tmp/d4m-apk-cache/libmount-2.28.2-r1.223b2a8e.apk: Permission denied cp: /tmp/d4m-apk-cache/libnfsidmap-0.25-r1.a80c1ad9.apk: Permission denied cp: /tmp/d4m-apk-cache/libtirpc-1.0.1-r0.aca28f16.apk: Permission denied cp: /tmp/d4m-apk-cache/nfs-utils-1.3.4-r0.5e5c9fb3.apk: Permission denied cp: /tmp/d4m-apk-cache/rpcbind-0.2.3-r3.05d284fc.apk: Permission denied cp: /tmp/d4m-apk-cache/sntpc-0.9-r6.e4a22e1e.apk: Permission denied cp: /tmp/d4m-apk-cache/sqlite-libs-3.15.2-r0.fd30a21b.apk: Permission denied

Odd part is I gave those 777 permissions, chmod -R 777 /tmp

Does it need some other permission to work?

TheDagger commented 7 years ago

nevermind it was chown I have to do also since it belonged to root, checking composer again...

TheDagger commented 7 years ago

Nope still issues, here is screenshot showing my attempt.
screen shot 2017-04-11 at 8 11 45 pm

Here is some other screenshots as well. Restarted docker as well.

screen shot 2017-04-11 at 8 12 51 pm screen shot 2017-04-11 at 8 12 55 pm

screen shot 2017-04-11 at 8 14 13 pm screen shot 2017-04-11 at 8 14 24 pm

screen shot 2017-04-11 at 8 15 50 pm

TheDagger commented 7 years ago

Let me know if you got any ideas for the errors above?

TheDagger commented 7 years ago

Oddly enough I came back today after 24 hours and somehow it magically fixed itself ?? Not sure what happened.

ukchucktown commented 7 years ago

I gave up after 2 days trying to get this to work. It constantly reports mount denied when trying to run the d4m-nfs.sh script. I was trying to mount /opt from my host which has group ownership of wheel but my user account is the owner. I finally gave up on that and just tried to mount my user directory but that didn't work either. It's likely in a bad state and I have no idea how to reset it. I tried deleting everything in /tmp, removed the /etc/exports file and tried to rerun the script, same result. Unless somebody has some suggestions, I'll have to abandon this as a solution and simply hold out for a fix.

d4m-nfs-mounts.txt d4m-mount-nfs.sh.txt

if-kenn commented 7 years ago

@ukchucktown if you want help, please open a new issue and provide all the information requested in the README.md

ukchucktown commented 7 years ago

Will do. I created a new issue with all the relevant information. Thanks.

raptor235 commented 7 years ago

I feel the same way... after spending a few hours last week on this I walked away. Back to this now again trying but no matter what I do I keep getting mounts denied.