docker-osx
docker-osx copied to clipboard
Refuse to run as superuser
I had a fun time trying to set a friend up with docker-osx yesterday: their /usr/local/bin
directory was owned by root, so we ran sudo curl ...
and sudo docker-osx shell
. This resulted in docker-osx hanging during VM provisioning. Not 100% sure why, but docker-osx ssh
complained about key file ownership, which may well be to do with it.
To make matters worse, attempting to stop and remove the VM failed silently, so even after a chown ... /usr/local/bin
, and a do-over, things continued to behave oddly. We had to open up VirtualBox and remove it with the GUI.
Three takeaways from this:
- docker-osx should probably never be run as superuser.
- There should perhaps be a note in the README, since docker-osx is manually installed with curl. Perhaps "step 0" should be "make sure /usr/local/bin is writable by you".
- To prevent VM sadness, docker-osx should detect if it's running as superuser and refuse to do anything.
Note: it might seem strange to run sudo docker-osx shell
, but it was the only way to get docker-osx to download the docker binary (because that also goes in /usr/local/bin
).
Hey @aanand any update on this since you last posted? My group is having a "fun" discussion on this exact thing. Seems like brew install docker
without having to sudo anything would be the bees knees.
No, haven't revisited it. Would be a fairly simple PR though.
Looking back, it might be smart to revise point number 2 - instead of putting it in the documentation, simply have docker-osx check /usr/local/bin
for writability and exit with a helpful message if it isn't.
However, this is all moot if boot2docker solves the volumes problem, at which point docker-osx can be deprecated entirely.
Your are right one of our target is to deprecate docker-osx in favor of boot2docker i think it will be more easy due to the fact @bfirsh is now a part of docker team.