Introduce the Windows lcow diff/snaphotter#2583
Conversation
|
Example Usage: ctr.exe image pull --platform linux/amd64 --snapshotter windows-lcow docker.io/library/alpine:latest
ctr run --runtime io.containerd.runhcs.v1 --snapshotter windows-lcow --config "<path-to-bundle>\config.json" --rm docker.io/library/alpine:latest ar1 sh -c "echo Hello World!"For now the |
|
@crosbymichael - FYI |
3dc32dd to
489550e
Compare
snapshots/lcow/lcow.go
Outdated
There was a problem hiding this comment.
Creating the scratch image only needs to be done once right? 🙀
How quick would this normally be when there is no contention? I am wondering if this is something that could be done when the snapshotter is created.
There was a problem hiding this comment.
Takes ~10s on my machine. We certainly could do it at create time but everyone would then have to pay the price of this creation on Windows even if you weren't going to use LCOW right?
There was a problem hiding this comment.
@jterry75 ok, then it is in the right place, that is about 3 orders of magnitude longer than I was thinking when suggesting it on create :) This could be done asynchronously after create if we want to optimize this for creation time, but let's not worry about this now. Mentioning the time in a comment and possible solutions may be good here though.
|
This implementation is really clean, very encouraging! I think something needs to added in the For compare, will this be implemented by Also appveyor's failure looks related |
|
@dmcgowan - No prob will add a block to For compare yes you are correct it will be Looking into CI |
489550e to
cf443a5
Compare
Implements the Windows lcow differ/snapshotter responsible for managing the creation and lifetime of lcow containers on Windows. Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
cf443a5 to
0110b3c
Compare
|
LGTM |
|
LGTM For notes, a couple follow ups that we might want to consider
|
|
Will add these to my notes for a follow up |
|
@jterry75 should those example commands still works in nowadays version? Docker code still has LCOW v1 included as moby/moby#42170 is not merged and I would like to investigate if we can get LCOW v2 working as nowadays containerd integration with snapshotter exists. So in theory as long Docker {
"default-runtime": "io.containerd.runhcs.v1",
"features": {
"containerd-snapshotter": true
},
"exec-opts": [
"isolation=hyperv"
]
}and code integrating with containerd would be updated to use same logic than CRI uses it should be possible to get Docker + LCOW v2 combination working. |
Hey, I haven't worked on this for some time, but I don't think LCOW is officially supported publicly. Where are you getting the VM images and tooling to go along with containerd+shims? |
Implements the Windows lcow differ/snapshotter responsible for managing
the creation and lifetime of lcow containers on Windows.
Signed-off-by: Justin Terry (VM) juterry@microsoft.com