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

Commit 8301453

Browse files
ctalledorodnymolina
authored andcommitted
Updated docs due to migration from Nestybox shiftfs to Ubuntu shiftfs.
1 parent 19c1edc commit 8301453

File tree

6 files changed

+411
-320
lines changed

6 files changed

+411
-320
lines changed

README.md

Lines changed: 37 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ Nestybox expands the power of Linux containers.
88
We are developing software that enables deployment of **system containers**
99
with Docker (and soon Kubernetes).
1010

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
11+
A Nestybox system container is a Linux container designed to run low-level system
12+
software, not just applications. See this [blog article](https://blog.nestybox.com/2019/09/13/system-containers.html) for more info on system
1313
containers and the use cases we envision for them.
1414

15-
Our mission is to make system containers run as many system-level
15+
Our mission is to make our system containers run as many system-level
1616
workload types as possible in order to provide users a fast,
1717
efficient, and easy-to-use alternative to virtual machines for
1818
deploying virtual hosts on Linux. And for this work out-of-the-box and
@@ -21,18 +21,17 @@ securely, without complex configurations or hacks.
2121
## About Sysbox
2222

2323
Sysbox is software that installs on a Linux host and integrates with Docker,
24-
enabling Docker to create [system containers](docs/system-containers.md).
24+
enabling Docker to create system containers.
2525

2626
Users do not normally interact with Sysbox directly. Instead, users
27-
create system containers with Docker. See [Usage](#usage) below for more info.
27+
create system containers with Docker as described below.
2828

2929
## Features
3030

3131
**NOTE**: It's early days for Nestybox, so our system containers
3232
support a reduced set of features and use-cases at this time.
3333

34-
Below is a list of features currently supported by Sysbox. Please
35-
see our [Roadmap](#roadmap) for a list of features we are working on.
34+
Below is a list of features currently supported by Sysbox.
3635

3736
### Deployment
3837

@@ -77,13 +76,26 @@ see our [Roadmap](#roadmap) for a list of features we are working on.
7776
- Prevents processes within the container from changing global
7877
kernel settings.
7978

79+
Please see our [Roadmap](#roadmap) for a list of features we are working on.
80+
8081
## Supported Linux Distros
8182

82-
* Ubuntu 19.04 "Disco"
83-
* Ubuntu 18.04 "Bionic" (kernel upgrade required; see [Host Requirements](#host-requirements) below)
83+
Sysbox relies on functionality that is only present in very recent
84+
Ubuntu kernels:
85+
86+
* Ubuntu 19.04 "Disco" (kernel >= 5.0.0-21.22)
87+
* Ubuntu 18.04 "Bionic" (with 5.0+ kernel upgrade)
88+
89+
If you need to upgrade your kernel the match requirements stated
90+
above, see [here](docs/troubleshoot.md#upgrading-ubuntu-kernel) for
91+
suggestions on how to do this.
8492

85-
The supported distros increase when Docker is configured with
86-
[userns-remap](docs/usage.md#interaction-with-docker-userns-remap) enabled. In this case, the supported distros are:
93+
Alternatively it's possible to use Sysbox with slightly older Ubuntu
94+
kernels, but doing so requires that the Docker daemon be configured
95+
with [userns-remap](docs/usage.md#interaction-with-docker-userns-remap).
96+
97+
In this case you can run Sysbox on the following distros (without the
98+
need to upgrade the kernel):
8799

88100
* Ubuntu 19.04 "Disco"
89101
* Ubuntu 18.10 "Cosmic"
@@ -95,21 +107,11 @@ We plan to add support for more distros in the future.
95107

96108
The Linux host on which Sysbox runs must meet the following requirements:
97109

98-
1) Systemd must be running as the system's process-manager.
99-
100-
2) Docker must be installed on the host machine.
110+
1) It must have one of the Linux distros listed in the prior section.
101111

102-
3) If the host runs Ubuntu-Bionic, you'll need to update the Linux kernel to
103-
5.X+ (unless you enable docker [userns-remap](docs/usage.md#interaction-with-docker-userns-remap)).
112+
2) Systemd must be the system's process-manager (the default in the supported distros).
104113

105-
Note that you must use the Ubuntu 5.X+ kernel, **not** the Linux
106-
upstream kernel (because Ubuntu carries patches that are not
107-
present in the upstream kernel). The easiest way to do this is to
108-
use Ubuntu's [LTS-enablement](https://wiki.ubuntu.com/Kernel/LTSEnablementStack) package:
109-
110-
```
111-
$ sudo apt-get update && sudo apt install --install-recommends linux-generic-hwe-18.04 -y
112-
```
114+
3) Docker must be installed on the host machine.
113115

114116
## Installation
115117

@@ -118,20 +120,20 @@ The Linux host on which Sysbox runs must meet the following requirements:
118120
2) Verify that the checksum of the downloaded file fully matches the expected/published one.
119121
For example:
120122

121-
```bash
123+
```console
122124
$ sha256sum ~/sysbox_0.0.1-0~ubuntu-bionic_amd64.deb
123125
2a02898dc53b4751cf413464b977f5b296d9aac3c5b477e05272bfa881d69cfc /home/user/sysbox_0.0.1-0~ubuntu-bionic_amd64.deb
124126
```
125127

126128
3) Install the Sysbox package:
127129

128-
```bash
130+
```console
129131
$ sudo dpkg -i sysbox_0.0.1-0~ubuntu-bionic_amd64.deb
130132
```
131133

132134
In case you hit an error with missing dependencies, fix this with:
133135

134-
```bash
136+
```console
135137
$ sudo apt-get install -f -y
136138
```
137139

@@ -142,7 +144,7 @@ the Sysbox installation process.
142144
4) Verify that Sysbox's systemd units have been properly installed, and
143145
associated daemons are properly running:
144146

145-
```
147+
```console
146148
$ systemctl list-units -t service --all | grep sysbox
147149
sysbox-fs.service loaded active running sysbox-fs component
148150
sysbox-mgr.service loaded active running sysbox-mgr component
@@ -160,7 +162,7 @@ If you hit problems during installation, see the [Troubleshooting document](docs
160162
To launch a system container with Docker, point Docker to the Sysbox container
161163
runtime, using the `--runtime=sysbox-runc` option:
162164

163-
```bash
165+
```console
164166
$ docker run --runtime=sysbox-runc --rm -it --hostname my_cont debian:latest
165167
root@my_cont:/#
166168
```
@@ -255,10 +257,10 @@ Here is the list:
255257

256258
* Support for other container managers (e.g., cri-o)
257259

258-
* Running Kubernetes inside the system container
259-
260260
* Running Systemd inside the system container
261261

262+
* Running Kubernetes inside the system container
263+
262264
* Running window managers (e.g., X) inside the system container (for GUI apps & desktops).
263265

264266
## Feedback
@@ -278,26 +280,20 @@ There is a simple shell script to do this [here](scr/rm_all_syscont).
278280

279281
1) Uninstall Sysbox binaries:
280282

281-
```bash
283+
```console
282284
$ sudo dpkg --remove sysbox
283285
```
284286

285287
Alternatively, remove the above items plus all the associated
286288
configuration and systemd files (recommended):
287289

288-
```bash
290+
```console
289291
$ sudo dpkg --purge sysbox
290292
```
291293

292-
2) Unload the `nbox_shiftfs` module:
293-
294-
```bash
295-
$ sudo rmmod nbox_shiftfs
296-
```
297-
298-
3) Finally remove the `sysbox` user from the system:
294+
2) Remove the `sysbox` user from the system:
299295

300-
```bash
296+
```console
301297
$ sudo userdel sysbox
302298
```
303299

dockerfiles/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ from within your Dockerfiles.
1313

1414
For example, to run the system container image that contains Ubuntu Disco + Docker, simply type:
1515

16-
```bash
16+
```console
1717
$ docker run --runtime=sysbox-runc -it nestybox/ubuntu-disco-docker:latest
1818
```
1919

@@ -31,22 +31,22 @@ Nestybox Dockerfile that you wish to change.
3131

3232
Simply add this at the beginning of your Dockerfile
3333

34-
```bash
34+
```console
3535
FROM nestybox/ubuntu-disco-docker:latest
3636
```
3737

3838
Then add your instructions to the Dockerfile.
3939

4040
Then build the image and tag it:
4141

42-
```bash
42+
```console
4343
$ docker build .
4444
$ docker tag <image-tag> my-custom-syscont:latest
4545
```
4646

4747
And run it with:
4848

49-
```bash
49+
```console
5050
$ docker run --runtime=sysbox-runc -it my-custom-syscont:latest
5151
```
5252

@@ -58,14 +58,14 @@ First, copy the Nestybox Dockerfile to some directory, `cd` to that directory, a
5858

5959
Then build the image and tag it:
6060

61-
```bash
61+
```console
6262
$ docker build .
6363
$ docker tag <image-tag> my-custom-syscont:latest
6464
```
6565

6666
And run it with:
6767

68-
```bash
68+
```console
6969
$ docker run --runtime=sysbox-runc -it my-custom-syscont:latest
7070
```
7171

0 commit comments

Comments
 (0)