Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit efd1ba3

Browse files
ctalledorodnymolina
authored andcommitted
Updates to docs to better align them with the Nestybox website.
1 parent 34b0a9b commit efd1ba3

File tree

2 files changed

+77
-52
lines changed

2 files changed

+77
-52
lines changed

README.md

Lines changed: 45 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,25 @@ Nestybox Sysboxd
33

44
## About Nestybox
55

6-
Nestybox is re-imagining server virtualization.
6+
Nestybox expands the power of Linux containers.
77

8-
We are developing software solutions that improve efficiency,
9-
performance, portability, and security over current Linux container
10-
and server virtualization technologies.
8+
We are developing software that enables deployment of **system containers**
9+
with Docker (and soon Kubernetes).
10+
11+
A system container is a Linux container designed to run low-level system
12+
software, not just applications. See [here](docs/system-containers.md) for more info on system
13+
containers and the use cases we envision for them.
14+
15+
Our mission is to make system containers run as many system-level
16+
workload types as possible in order to provide users a fast,
17+
efficient, and easy-to-use alternative to virtual machines for
18+
deploying virtual hosts on Linux. And for this work out-of-the-box and
19+
securely, without complex configurations or hacks.
1120

1221
## About Sysboxd
1322

1423
Sysboxd is software that installs on a Linux host and integrates with Docker,
15-
enabling Docker to create **system containers**. See [here](docs/system-containers.md)
16-
for a description of what a system container is and the use cases
17-
we envision for them.
24+
enabling Docker to create [system containers](docs/system-containers.md).
1825

1926
Users do not normally interact with Sysboxd directly. Instead, users
2027
create system containers with Docker. See [Usage](#usage) below for more info.
@@ -24,22 +31,27 @@ create system containers with Docker. See [Usage](#usage) below for more info.
2431
**NOTE**: It's early days for Nestybox, so our system containers
2532
support a reduced set of features and use-cases at this time.
2633

27-
Below is a list of features currently supported by sysboxd. Please
34+
Below is a list of features currently supported by Sysboxd. Please
2835
see our [Roadmap](#roadmap) for a list of features we are working on.
2936

3037
### Deployment
3138

3239
* Supports deployment of system containers with Docker.
3340

34-
* System containers can run concurrently with regular Docker
35-
containers, without conflict.
41+
* The system containers can run concurrently with regular Docker
42+
application containers, without conflict.
3643

3744
### System Container Software
3845

3946
* Supports running Docker inside the system container.
4047

41-
- Cleanly & securely, without using privileged containers or
42-
bind-mounting the host's Docker socket into the container.
48+
- Cleanly & securely, with total isolation between the Docker inside
49+
the container and the Docker on the host. No need to use insecure
50+
privileged containers, or to bind-mount the host's Docker socket
51+
into the container.
52+
53+
- The Docker inside the system container can build and run
54+
containers as usual.
4355

4456
- This is useful for testing & CI/CD use cases.
4557

@@ -51,12 +63,19 @@ see our [Roadmap](#roadmap) for a list of features we are working on.
5163
user-ID and group-ID mappings for increased container-to-host and
5264
container-to-container isolation.
5365

54-
* Exposes a partially virtualized procfs (`/proc`) to the container.
66+
* Resource isolation
67+
68+
- Programs inside the system container (e.g., Docker) are limited
69+
to using the resources given to the system container itself.
5570

56-
- This makes the container more closely resemble a real host.
71+
* Partially virtualized procfs
5772

58-
- Prevents processes within the container from changing global kernel
59-
settings via `/proc`.
73+
- Processes inside the system container see a partially virtualized `/proc`.
74+
75+
- This makes the system container more closely resemble a real host.
76+
77+
- Prevents processes within the container from changing global
78+
kernel settings.
6079

6180
## Supported Linux Distros
6281

@@ -74,7 +93,7 @@ We plan to add support for more distros in the future.
7493

7594
## Host Requirements
7695

77-
The Linux host on which sysboxd runs must meet the following requirements:
96+
The Linux host on which Sysboxd runs must meet the following requirements:
7897

7998
1) Systemd must be running as the system's process-manager.
8099

@@ -96,7 +115,8 @@ The Linux host on which sysboxd runs must meet the following requirements:
96115

97116
1) Download the latest package from the [release](https://github.com/nestybox/sysboxd-external/releases) page.
98117

99-
2) Verify that the checksum of the downloaded file fully matches the expected/published one:
118+
2) Verify that the checksum of the downloaded file fully matches the expected/published one.
119+
For example:
100120

101121
```bash
102122
$ sha256sum ~/sysboxd_0.0.1-0~ubuntu-bionic_amd64.deb
@@ -129,7 +149,7 @@ sysbox-mgr.service loaded active running sysbox-mgr compon
129149
sysboxd.service loaded active exited Sysboxd General Service
130150
```
131151

132-
The sysboxd.service is ephemeral (it exits once it launches the other sysboxd services).
152+
Note: the sysboxd.service is ephemeral (it exits once it launches the other sysboxd services).
133153

134154
If you are curious on what the other Sysboxd services are, refer to the [Sysboxd design document](docs/design.md).
135155

@@ -167,8 +187,12 @@ that runs in a regular Docker container. In addition, it runs
167187
system-level software that does not run in a regular Docker container.
168188

169189
For system-level software, we currently only support running Docker
170-
inside the system container. See [here](docs/usage.md#running-software-inside-the-system-container)
171-
for more info on this.
190+
inside the system container. This allows you to build and run Docker
191+
application containers inside the system container, just as you would
192+
on a physical host or in a VM. It's useful in CI/CD pipelines where
193+
the need for a container to build another container arises often.
194+
195+
See [here](docs/usage.md#running-software-inside-the-system-container) for more info on this.
172196

173197
## Integration with Container Managers
174198

docs/system-containers.md

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -15,64 +15,65 @@ systemd, display servers, and even Docker and Kubernetes (that's
1515
right, system containers support running these **inside** the
1616
container).
1717

18-
Some other characteristics of system containers are:
18+
## Nestybox System Containers
19+
20+
While we are not inventing system containers per-se, Nestybox system
21+
containers are the first to support deployment with Docker (and soon
22+
Kubernetes).
23+
24+
This allows users to leverage the power of Docker to package and deploy
25+
system containers, and removes the need to learn new tools.
26+
27+
In addition, Nestybox system containers offer the following:
1928

2029
* Use of the Linux user namespace (root inside the system container
2130
has all capabilities within it, but none on the host).
2231

2332
* Partially virtualized procfs (makes the container more closely
2433
resemble a real host).
2534

26-
* Entrypoint into a system management daemon (optional).
35+
* Ability for users to configure the system container from a single
36+
binary to a full system environment (e.g., systemd, multiple apps,
37+
ssh server, display server, docker, etc).
2738

39+
* Optional entrypoint into a system management daemon (e.g., systemd).
2840

29-
As with all containers, a user gets to choose what software runs in
30-
the system container. It can range from single binary to a complete
31-
system environment (e.g., systemd, multiple apps, ssh server, display
32-
server, docker, etc).
33-
34-
## Nestybox System Containers
35-
36-
While we are not inventing system containers per-se, Nestybox system
37-
containers are the first to support deployment with Docker.
38-
39-
This allows users to leverage the power of Docker to package and deploy
40-
system containers, and removes the need to learn about other container
41-
engines.
42-
43-
Also, Nestybox system containers offer stronger isolation than
44-
regular Docker application containers, by virtue of using the Linux
45-
user namespace and exclusive user-ID mappings. This gives them strong
46-
container-to-host and container-to-container isolation.
41+
* Stronger isolation than regular Docker application containers, by
42+
virtue of using the Linux user namespace and exclusive user-ID
43+
mappings. This gives them strong container-to-host and
44+
container-to-container isolation.
4745

4846
We are committed to make our system containers as complete an
49-
abstraction of a virtual host as possible, to enable them to run a
50-
large variety of applications and system level software with strong
51-
isolation from the underlying host.
47+
abstraction of a virtual host as possible.
5248

5349
Our goal is to allow you run any software inside the system container
54-
just as you would on a physical host or virtual machine. Ideally there
55-
shouldn't be any difference.
50+
just as you would on a physical host or virtual machine. And for this
51+
to work out-of-the-box and securely, without complex configurations or
52+
hacks.
5653

5754
## Use cases
5855

5956
The use cases we envision for system containers are many. A few
6057
examples are:
6158

62-
* They can be used in CI/CD pipelines where deploying a container
63-
inside another container is useful (i.e., docker-in-docker).
59+
* They can be used in CI/CD pipelines where the need to deploy
60+
Docker inside a Docker container (aka Docker-in-Docker) often arises.
6461

6562
* They can be used to setup an entire Kubernetes cluster in a
66-
developer's test machine, without resorting to VMs.
67-
68-
* They can be used to partition a cloud VM instance into multiple
69-
virtual hosts.
63+
developer's test machine, without resorting to VMs. This requires
64+
running Kubernetes inside the system container (we are working on
65+
it).
7066

7167
* They can be used to encapsulate development environments (e.g., one
7268
system container could be the code-writing environment, the other
7369
could be a test environment, etc.) instead of resorting to VMs for
7470
the same purpose.
7571

72+
Moreover, system containers are extremely portable, just like
73+
application containers. You can deploy them on bare-metal, in a VM, in
74+
a cloud VM instance, or even on edge or IoT devices (due to their
75+
light-weight).
76+
7677
## How far along are we?
7778

7879
It's early days for Nestybox, so our system containers support a

0 commit comments

Comments
 (0)