-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Conversation
I've run into the msys auto-conversion thing myself and the only thing I've found is that if you add an extra Oh -- and thanks for resurrecting this. I know it is controversial, but it really does make life for those of us working on Windows a lot nicer (the lack of a native Docker client there gives us a few more issues than our Mac brethren). |
d62fb7c
to
3998f22
Compare
Where's the Documentation? |
Fair point - I'll write up something. 👍 |
mkdir -p $ROOTFS/sbin && \ | ||
cp x86/lib/VBoxGuestAdditions/mount.vboxsf $ROOTFS/sbin/ && \ | ||
\ | ||
cd / && rm -rf /vboxguest |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
3998f22
to
341c434
Compare
That's a good job ! One point to (maybe?) help you : while it's perfectly working with vagrant (see my custom vagrant image, based on the previous work - http://vagrantup.com/dduportal/boot2docker), we should throw an eye on how vagrant did it on Windows ? |
341c434
to
09d749b
Compare
Just as an update, I was dealing with some ill family today. I've updated the technical bits here, but hope to get some docs done tomorrow. |
8389685
to
ef06a84
Compare
Ok, this has some basic documentation now, too. 👍 |
ef06a84
to
34a017c
Compare
It is also important to note that in the future, the plan is to have any share | ||
which is created in VirtualBox with the "automount" flag turned on be mounted | ||
during boot at the directory of the share name (ie, a share named `home/jsmith` | ||
would be automounted at `/home/jsmith`). |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
34a017c
to
7e0872b
Compare
This PR is only missing some documentation to say that it does not work for Linux - even if you share once that's done - LTGM |
…che-ability) Also, this includes a hacky init script that bfirsh gets to take all the credit for that tries to mount `/Users` and/or `/c/Users`, since we can't run `VBoxService` proper (thanks to hairy issues with 32bit userspace of TCL; good times).
7e0872b
to
1bf1671
Compare
Ok, I've updated with a paragraph about the nonexistent Linux support: (copied here for easier review)
|
LGTM - will there be a b2d-cli PR to set these up? |
Yeah, that's the plan - I've been working on that on the side while this one got some review. 😄 |
UI is here: boot2docker/boot2docker-cli#258 This will be in the next official release. |
Wow this actually made it in? |
Is this release waiting to sync with the next Docker release? |
Yes, boot2docker releases are synced to Docker releases, so this will be in |
VirtualBox Guest Additions are unusable/slow for project with lots of small files ( tested with 17K files ). Is it just me? I created Hodor github.com/gansbrest/hodor to streamline dev workflow for Mac and Linux. Let me know what you guys think. |
Nice work @gansbrest ! But I don't like Ruby so I'm gonna to rewrite it in Go. I also need the sync on Windows :-( |
Hmm, @gansbrest and @SchumacherFM bring up some interesting points and ideas. However, since these changes are ultimately intended for the fig project, perhaps it might be useful to integrate this filesystem monitoring into Fig directly? |
You might be interested in docker/compose#184 |
These changes should be independent from Fig. The results of Fig's monitoring filesystem change is to rebuild and reload the container, but that may be too expensive. People often prefer to use their development environment's own system reloading mechanism, e.g. Clojure's lein-ring, etc. boot2docker should support these use cases. |
@huahaiy there is nothing in these changes that are dependant on fig - there are comanion changes in boot2docker-cli to make it work. - if you read @AkeemMcLennon 's comment, it asks about integrating this change into fig :) |
Sorry guys, I'm not too familiar with fig. From the brief look, Hodor seem to follow similar concepts ( define config and run task ). You may probably take and integrate file sync/forwarding parts. I just wanted to create simple tool to allow our team to do develop in the docker environment efficiently. |
Correct me if I am wrong but no longer have to build from source (as per @sciutand comment) for this support, you can just curl the iso and use that.
|
That ISO isn't an official release. ;) |
Oh maybe I misunderstood based on the URL. Would you say one should follow the original @sciutand advice in building and copying the ISO over then? |
If the above ISO works why not use it? |
the above ISO is not working. /User directory is not mounted |
@abilash222 did you use VBoxManage to share the folder into boot2docker? |
Ok so folders on the Mac host (under $HOME) can now be shared with the container… and you can do nothing with them:
I've tried chowning them to 999:999, changed folder rights to 777… and still, those volume folders are just as unusable from the container. E.g. |
@vmaatta I ran `docker -it -v /Users:/Users ubuntu:14.04 /bin/bash' and was able to ls and cat files from my him dir just fine - this is stock Docker 1.3 |
Ok, say:
The same with a different container, a web server that needs to write all kinds of files, they both fail with the aforementioned access problems. |
And it seems there's an issue for it… #581. The release notes are really quite misleading / missing an important note. |
@vmaatta I seem to be able to run postgres container just fine on boot2docker, see my Postgres Dockerfile here. |
To provide some context about why this is being reintroduced despite so many expressed reservations, "boot2docker" currently is essentially the "Docker daemon for Mac OS / Windows". On Mac OS at least, where we have a native Docker client, the experience of talking to your "Docker daemon" currently lacks the ability to bind mount files, which causes a lot of problems including
fig
not working as it should. This is being pushed as a simple stopgap solution to that specific problem while other more sustainable solutions are developed in Docker itself (such as is proposed in moby/moby#7249).This builds upon the work in #284. Also, this includes a hacky init script that @bfirsh gets to take all the credit for that tries to mount
/Users
and/or/c/Users
, since we can't runVBoxService
proper (thanks to hairy issues with 32bit userspace of TCL; good times). The init script will bail quickly and quietly on non-VirtualBox machines or on VirtualBox machines that don't have one of those two shares.This has been tested on Linux, Mac OS X, and Windows.
If you'd like to test it out without any changes to boot2docker-cli, use:
VBoxManage sharedfolder add boot2docker-vm --name /Users --hostpath /Users --automount
VBoxManage.exe sharedfolder add boot2docker-vm --name /c/Users --hostpath C:/Users --automount
(note that this will NOT WORK from inside the msys bash shell because of http://www.mingw.org/wiki/Posix_path_conversion - you must either run it fromcmd
directly, or create the share ofC:\Users
named as/c/Users
manually)This will make it so that things like
docker run -v "$(pwd)":/some/container/path ...
work as you'd expect from Mac OS, and also so that the/Users
or/c/Users
directory is available for easy access when youboot2docker ssh
into your VM.As a side note, if anyone has ideas for how to disable or prevent that msys path conversion from happening without linking against
msys.dll
, please please please let me know (I can't find anything useful).