Live data from Hacker News

You can now run same OCI images as containers or Firecracker microVMs

github.com

31–40 of 45 posts

Re: You can now run same OCI images as containers or Firecracker microVMs

#31
post #19

Earlier quoted context omitted.

you don't have to source one manually — pullrun kernel install fetches a kata containers kernel into ~/.pullrun/kernels/vmlinux- . One-time setup, then the daemon auto-discovers it.

If you run an ubuntu image with a kata kernel, do you have difficulty installing some packages? For example if you need linux-headers-$(uname -r) or linux-modules-extra-$(uname -r), it won't exist in canonical apt repos?

[flagged]

Re: You can now run same OCI images as containers or Firecracker microVMs

#32

Where does the microvm kernel/initrd come from? How can it be built? I just want a system that's as easy as "docker run ubuntu" but launches as a microvm instead, without me having to source a kernel or remember hugenormously long qemu incantation lines.

Looks like everyone is converging on the same idea these days :-)

You might be interested in my project then: https://github.com/virtkit-dev/virtkit (also inspired by smolvm and similar projects). Default kernel included, but can also boot a custom kernel if necessary.

I built it at work to replace years of accumulated tooling around complex multi-stage docker/docker-compose builds. The same workloads now run more securely, often faster, and with much less disk space. Also acts as a Gitlab executor to run CI jobs in microvms :-)

Obviously built with AI (this would otherwise have been a multi-year effort... and therefore not exist at all!) but I think the design is not bad.

Still beta and under-documented, but already quite usable.

Edit: it's not just a runtime, it also replaces docker build with its own native build engine — the build steps themselves run inside microVMs (not "docker inside a VM"). I haven't seen any other tool actually do that, that's quite fun ;-)

Re: You can now run same OCI images as containers or Firecracker microVMs

#33

Where does the microvm kernel/initrd come from? How can it be built? I just want a system that's as easy as "docker run ubuntu" but launches as a microvm instead, without me having to source a kernel or remember hugenormously long qemu incantation lines.

You can do this with libkrun. I use it as a podman backend which works exactly as you describe here.

    podman run --rm -it --runtime=krun ubuntu sh

Re: You can now run same OCI images as containers or Firecracker microVMs

#35
post #28

Is the OP the author of this? Because they are writing responses here that are unquestionably unedited LLM generated responses. The project looks cool, and I'm particularly glad to see a reach for a p2p container registry, but that sort of behavior doesn't lend credibility to something as critical as image infrastructure.

I hate how I feel about this: the sole contributor's account is not 2 month old, and yet they have created an org for this project, with all the bells and whistles in the README. To me, a project that young, with a unique developer at the helm, cannot look "that nice", so I can't resist seeing it as too nice to be true, and being actually a scam or whatever. I know that, thanks to AI, a solo dev can not only orchestr…

[flagged]

Re: You can now run same OCI images as containers or Firecracker microVMs

#36
> Why this matters: Modern infrastructure uses too many execution engines — Docker for dev, containerd for production, Firecracker for isolation, CRI for Kubernetes, MCP agents for AI.

It is my understanding that Docker Engine adds capabilities (such as network stack) on top of Containerd (which is a project maintained by the same people), and "CRI for Kubernetes" is a Container Runtime Interface which COULD be something other than Containerd but often is just Containerd. So in essence the reason why yet another runtime exists is that we have a runtime for containers (Docker/Containerd, Containerd and, for example, Containerd as the CRI in K8s), a runtime for isolation and a runtime for AI agents.

That seems like an unnecessary argument on its own, which makes me wonder why it's listed as the first argument.

Re: You can now run same OCI images as containers or Firecracker microVMs

#37
post #36

> Why this matters: Modern infrastructure uses too many execution engines — Docker for dev, containerd for production, Firecracker for isolation, CRI for Kubernetes, MCP agents for AI. It is my understanding that Docker Engine adds capabilities (such as network stack) on top of Containerd (which is a project maintained by the same people), and "CRI for Kubernetes" is a Container Runtime Interface which COULD be somet…

Ps: I fear the day keyboards will ship with a "—" button, so we can no longer easily identify AI generated text.

Re: You can now run same OCI images as containers or Firecracker microVMs

#38

Is the OP the author of this? Because they are writing responses here that are unquestionably unedited LLM generated responses. The project looks cool, and I'm particularly glad to see a reach for a p2p container registry, but that sort of behavior doesn't lend credibility to something as critical as image infrastructure.

Unrelated: I clicked your user profile and wondered what that keybase.io thing was... turns out your proof expired and should no longer be trusted. :P

"That identity proof for is pending, revoked, or non-existent".

Re: You can now run same OCI images as containers or Firecracker microVMs

#39

Where does the microvm kernel/initrd come from? How can it be built? I just want a system that's as easy as "docker run ubuntu" but launches as a microvm instead, without me having to source a kernel or remember hugenormously long qemu incantation lines.

You can do this with libkrun. I use it as a podman backend which works exactly as you describe here. podman run --rm -it --runtime=krun ubuntu sh

Error: default OCI runtime "krun" not found: invalid argument

Re: You can now run same OCI images as containers or Firecracker microVMs

#40

Earlier quoted context omitted.

You can do this with libkrun. I use it as a podman backend which works exactly as you describe here. podman run --rm -it --runtime=krun ubuntu sh

Error: default OCI runtime "krun" not found: invalid argument

Oh, you do need to install it. e.g. on arch: https://archlinux.org/packages/extra/x86_64/krun/
Post reply on HN