Ops cmd doesn't work, there are no examples for various containers

Hi Nanovms team

I tried to convert various Docker containers into unikernel images and it just didn’t work.

Is there any page which shows how you can convert X/Y/Z various common Docker images into Unikernel images. Ex: jenkins/jenkins:lts or latest, Elastic ELK containers, etc etc.

The error mesg doesn’t give clear idea where the issue is.

Musl & Glib RELATED issues or Ubuntu vs Other OS bsse os based container issues. Chatgpt etc tools were not able to help and resolve issues as well when I pasted three cmd, errors and tried solutions per chatgpt.

It would be great, to have a self service page ever user can add any docker image, that automation page will show that the process just grabbed the docker, converted it into Unikernel image(s) so we can quick download, test, do PoC work with unikernel images to show the company, team on the use of Unikernels.

Also a page showing, this is how you spin ELK foss stack using Docker container from start to end to end, and doing the same using converted Unikernel images, will greatly help people understand, n raise less support tickets.

I want to present Unikernels benefits using Nanovms so would need help.

Aks

There are some docs on:

This works well for simpler images, however, more complex ones might require more explicit knowledge of the application being packaged up - which is the same case as if you were going to make a container out of something that didn’t have one before. So things like env vars, libraries needed, etc.

Jenkins is probably not going to be a good fit since of what it actually does (it is kind of inherently built to run many different commands in a build process).

However, I will say that there are several packages in the ELK stack that have existing packages:

I’m going to start using unikernels as a PoC and would need help for these issues for a company.

If we can’t simply convert a Docker container image into a unikernel image, Im not sure, if it will help me sell the idea of using Nanovms Unikernels

I may have to go the route of using Kata containers, Urunc, unikraft etc

Can you share video links, doc links where it shows the complete process of converting containers into unikernel images. Thanks a lot. I Will look into what you shared in your last reply.

We have quite a few videos on our youtube channel but in particular:

We also have a lot of tutorials like:

Generally speaking you’re probably going to want to create a package that can be used as a base.

Your mileage is going to vary quite a bit by the complexity of the image you want to convert but the most simplest example I could give you right now is something like node:

➜  ~ ops pkg from-docker node:24.19.0 --file node
24.19.0: Pulling from library/node
c6cbf97176c5: Pull complete
225a0a6c500b: Pull complete
2c9a098bd641: Pull complete
a75326012c0e: Pull complete
9507b441d9a3: Pull complete
a730ab647afc: Pull complete
7d3c9aa1eaa4: Pull complete
270593842066: Pull complete
Digest: sha256:934240a162082fd8b8a2f90cd5114446443f1eba1c5378f6687167ca405e6584
Status: Downloaded newer image for node:24.19.0
node_24.19.0
➜  ~ ops pkg load -l node_24.19.0 -a hi.js
running local instance
booting /Users/eyberg/.ops/images/node ...
test

For more complex images it might take knowing how the image itself is built to begin with.

If you need more individualized help or just want to chat more in depth - can always reach out on the nanovms.com website.