3 ms·
> Why do you need to snapshot live processes? Often times there are long-living processes which rarely change but take a long time to warm up. The Bazel [1] ag
by colinchartier 4y ago
> Why do you need to snapshot live processes?
Often times there are long-living processes which rarely change but take a long time to warm up. The Bazel [1] agent for C++ projects, the buildkit [2] state for docker, or the running Postgres or Redis server for a cloud native app for example.
It's why running "docker build" twice on your laptop is so fast, but running "docker build" in CI seems glacially slow.
> why is docker-in-docker a requirement, and how is that easier than qemu in qemu or qemu in docker or whatever?
The example given was running "docker-compose build", so you'd need either docker-in-firecracker (this post), docker-in-docker, or docker-in-qemu. You'd almost never run docker-compose build on bare metal in practice, because you'd immediately need to send the images you built somewhere else in order to use them.
[1] https://bazel.build/ https://bazel.build/
[2] https://docs.docker.com/develop/develop-images/build_enhancements/ https://docs.docker.com/develop/develop-images/build_enhance...
- cpuguy83 4y agoBut that's state on disk, not process state. It should not affect startup time in buildkit. I'm not experienced enough with Bazel to comment on that.