New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LCOW: Coalesce daemon stores, allow dual LCOW and WCOW mode #34859
Conversation
Didn't go over everything yet but I think |
You're right, there are two ways of doing this. I'm not certian either one has merit over the other. The way I've implemented seems slightly cleaner from the perspective of the interfaces to it and the call-sites into it. Here's why: It's only the layerstore that communicates with the graphdriver, so having a single layerstore know which graphdriver to choose based on the operating system of the layer is clean and requires no jiggling in multiple higher-level places to determine which layerstore to use. In other words, this pushes it down to the lowest possible layer keeping a clean upper surface to the layerstore. In reality, there is no need to have multiple layerstores when it's just the graphdriver that is different. Does that make sense? |
This changes the layerstore Actually, looking at it again, I'm not sure how this version works at all. How do you make sure that the parent layer is owned by the same driver? Layerstore is basically just a tar blobstore(with complex backend) so these collisions are not uncommon at all. You could easily have same partial diffid chains for different platforms. |
36c5e5e
to
910fb8c
Compare
I assure you it works! But sure, I'll refactor again to have multiple layer stores if that is what you want. Just trying to do the right thing here after the F2F 😊 |
9bc0fe9
to
b326dba
Compare
Rebased on master (following the remote filesystem work, and updates to #34642), refactoring for multi-layerstores still in progress. Marking WIP until that is complete (ETA 2-3 days). |
f98058f
to
1b25f32
Compare
@tonistiigi - Still some tidying to fix up tests for CI, but pushed a new commit which changes it back to multiple layerstores. Is this more the direction you wanted? Local verification passes on it. |
297153c
to
b4a583e
Compare
7cf7821
to
57b8739
Compare
LGTM My only concern is that we replace |
That's exactly why I did it - to make it explicit that it's not a full |
@tonistiigi I'll get to these comments shortly. |
Signed-off-by: John Howard <jhoward@microsoft.com>
fb586ca
to
0cba774
Compare
Signed-off-by: John Howard <jhoward@microsoft.com>
LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
With: - moby/moby#36065 - moby/moby#34859 merged there is no need for environment variables anymore Update instructions. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
With: - moby/moby#36065 - moby/moby#34859 merged there is no need for environment variables anymore Update instructions. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
With: - moby/moby#36065 - moby/moby#34859 merged there is no need for environment variables anymore Update instructions. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
I have a scenario where I need to have Linux and Windows containers communicate with each other on a windows 10 box. When will this be available? Is there a way for me to get this in alpha to try it out? |
@praqmaTim I think this should be available in the latest beta: https://blog.docker.com/2018/02/docker-for-windows-18-02-with-windows-10-fall-creators-update/ |
Signed-off-by: John Howard jhoward@microsoft.com
Fixes #35303
@tonistiigi, @dmcgowan, @johnstep, @mlaventure, @stevvooe, @vieux, @friism This is one of the action items from the F2F and the document described in #34617.
Specifically, this re-coalesces all the remaining daemon stores which were split as part of the original LCOW implementation.
This has a hard requirement on #34642 being merged to work. It's the last commit which is of interest for the re-coalescing. With this change, this finally allows both LCOW and WCOW containers to run side-by-side. For example
@jstarks, @PatrickLang @darrenstahlmsft FYI