Live data from Hacker News

Launch HN: Nestybox (YC S20) – Containers beyond microservices

news.ycombinator.com

81–90 of 112 posts

Re: Launch HN: Nestybox (YC S20) – Containers beyond microservices

#81

Any time I hear about running docker inside docker (or indeed a VM host inside a VM) I'm reminded of a lesson from the great duo B&BH : https://youtu.be/PyrRVNyjlqU

That's funny ... brings back memories of the 90s :)

One thing I've noticed is that in modern IT infrastructure, there is usually two levels of sandboxing going on. At the low level you have VMs (sandboxed OS), and on top of it you have containers (sandboxed applications). Sysbox makes it easy replace that lower level with containers (which naturally leads to docker-in-docker or more accurately containers-in-containers).

To be clear I am not saying that containers are equivalent to VMs or that containers should always replace VMs. They are different beasts with different properties. But I am saying that in many scenarios it does make sense to use containers instead of VMs, particularly if your stack is all Linux, you don't need the isolation strength provided by VMs, and want the higher efficiency of the container.

Re: Launch HN: Nestybox (YC S20) – Containers beyond microservices

#83

I hadn’t run across shiftfs before - does this mean the podman style of subuid/subgid allocations no longer need to be manually managed?

Correct; Sysbox always enables the user-namespace in containers and manages the subuid/subgid allocation. In the open-source version, it assigns all containers the same subuid/subgid range, which is not ideal for cross-container isolation. In the enterprise-version (Sysbox-EE), it assigns an exclusive subuid/subgid range to each container automatically.

Re: Launch HN: Nestybox (YC S20) – Containers beyond microservices

#84
post #49

Earlier quoted context omitted.

Absolutely, that's one of Sysbox's main use-cases, we usually refer to it as 'docker sandboxes'. As you mentioned, the idea is to have your entire dev environment within your fully-customized container, which would allow you to take that environment wherever you go, you are not tied to a particular hypervisor or cloud service-provider. We have heard of people already using Sysbox in Jupyter ecosystem.

That's awesome. Are there public examples of what you'd consider a good setup for that use case that you could point me to? Or is one of the use cases in the Sysbox-EE User Guide a good example (I don't see a 'docker sandbox' one but I may have missed it). Thanks!

Take a look at the Nestybox blog site: https://blog.nestybox.com/

It has an article on Docker sandboxing. Hope that helps!

Re: Launch HN: Nestybox (YC S20) – Containers beyond microservices

#87

what are some practical use cases of being able to run docker inside docker? Does that help with hardware in the loop?

We use it a bit, mainly as a side-effect of infrastructure. For instance, our CI runs each job in a container; the spec for the container is checked into source control. That way its easy to add new software in CI, just change the Dockerfile in the project repo. Also easy to run CI jobs locally for debugging.

Then some of our integration tests themselves use Docker, for various things. And at that point, docker in docker comes in handy.

We just run regular docker-in-docker though, which is indeed a very leaky abstraction, lots of pitfalls.

Re: Launch HN: Nestybox (YC S20) – Containers beyond microservices

#88
This is interesting, however the open core business model is absolutely terrible. Why can't you just provide Enterprise support with an EE-friendly license, but keep the EE features open source? That will also remove the conflict of interest in your business model.

Re: Launch HN: Nestybox (YC S20) – Containers beyond microservices

#89

This is interesting, however the open core business model is absolutely terrible. Why can't you just provide Enterprise support with an EE-friendly license, but keep the EE features open source? That will also remove the conflict of interest in your business model.

We felt just providing enterprise support would not be sufficient to create a healthy business, given that Sysbox is designed to work under the covers (i.e., under docker/containerd) and does not require a lot of support. We opted for the open-core model as we felt it creates a good balance between contributing to the container ecosystem while still allowing us to sell some enterprise-level functionality (rather than just support).

Regarding the conflict of interest, we decided to handle it as follows: features that mainly benefit practitioners would go on the open-core, while features that mainly benefit enterprise deployments would not. Of course, there is still ambiguity there, but that will need to resolved on a feature by feature basis based on the feedback from practitioners and enterprises.

This is a learning process for us, but we understand this model is being used successfully by other IT infrastructure companies such as HashiCorp, so we opted for it.

Re: Launch HN: Nestybox (YC S20) – Containers beyond microservices

#90
post #85

Is it by any chance that it will work with docker-nividia? I.e. support accessing the host's GPU insider the nested containers?

This is something we've not tried yet, so I don't know. I would be surprised if it worked right now. But in general, it's something we would definitely be interested in exploring.

The containers created by Sysbox act like virtual-hosts, so it makes sense to have the ability to expose GPUs / hw-accelerators within them. But container nesting, which comes naturally with Sysbox, would introduce another challenge since the GPUs would not just need to be passed to the outer system container, but also to the inner application containers.

Post reply on HN