@@ -8,11 +8,11 @@ Nestybox expands the power of Linux containers.
8
8
We are developing software that enables deployment of ** system containers**
9
9
with Docker (and soon Kubernetes).
10
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
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
13
13
containers and the use cases we envision for them.
14
14
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
16
16
workload types as possible in order to provide users a fast,
17
17
efficient, and easy-to-use alternative to virtual machines for
18
18
deploying virtual hosts on Linux. And for this work out-of-the-box and
@@ -21,18 +21,17 @@ securely, without complex configurations or hacks.
21
21
## About Sysbox
22
22
23
23
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.
25
25
26
26
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.
28
28
29
29
## Features
30
30
31
31
** NOTE** : It's early days for Nestybox, so our system containers
32
32
support a reduced set of features and use-cases at this time.
33
33
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.
36
35
37
36
### Deployment
38
37
@@ -77,13 +76,26 @@ see our [Roadmap](#roadmap) for a list of features we are working on.
77
76
- Prevents processes within the container from changing global
78
77
kernel settings.
79
78
79
+ Please see our [ Roadmap] ( #roadmap ) for a list of features we are working on.
80
+
80
81
## Supported Linux Distros
81
82
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.
84
92
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):
87
99
88
100
* Ubuntu 19.04 "Disco"
89
101
* Ubuntu 18.10 "Cosmic"
@@ -95,21 +107,11 @@ We plan to add support for more distros in the future.
95
107
96
108
The Linux host on which Sysbox runs must meet the following requirements:
97
109
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.
101
111
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).
104
113
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.
113
115
114
116
## Installation
115
117
@@ -118,20 +120,20 @@ The Linux host on which Sysbox runs must meet the following requirements:
118
120
2 ) Verify that the checksum of the downloaded file fully matches the expected/published one.
119
121
For example:
120
122
121
- ``` bash
123
+ ``` console
122
124
$ sha256sum ~ /sysbox_0.0.1-0~ubuntu-bionic_amd64.deb
123
125
2a02898dc53b4751cf413464b977f5b296d9aac3c5b477e05272bfa881d69cfc /home/user/sysbox_0.0.1-0~ubuntu-bionic_amd64.deb
124
126
```
125
127
126
128
3 ) Install the Sysbox package:
127
129
128
- ``` bash
130
+ ``` console
129
131
$ sudo dpkg -i sysbox_0.0.1-0~ubuntu-bionic_amd64.deb
130
132
```
131
133
132
134
In case you hit an error with missing dependencies, fix this with:
133
135
134
- ``` bash
136
+ ``` console
135
137
$ sudo apt-get install -f -y
136
138
```
137
139
@@ -142,7 +144,7 @@ the Sysbox installation process.
142
144
4 ) Verify that Sysbox's systemd units have been properly installed, and
143
145
associated daemons are properly running:
144
146
145
- ```
147
+ ``` console
146
148
$ systemctl list-units -t service --all | grep sysbox
147
149
sysbox-fs.service loaded active running sysbox-fs component
148
150
sysbox-mgr.service loaded active running sysbox-mgr component
@@ -160,7 +162,7 @@ If you hit problems during installation, see the [Troubleshooting document](docs
160
162
To launch a system container with Docker, point Docker to the Sysbox container
161
163
runtime, using the ` --runtime=sysbox-runc ` option:
162
164
163
- ``` bash
165
+ ``` console
164
166
$ docker run --runtime=sysbox-runc --rm -it --hostname my_cont debian:latest
165
167
root@my_cont:/ #
166
168
```
@@ -255,10 +257,10 @@ Here is the list:
255
257
256
258
* Support for other container managers (e.g., cri-o)
257
259
258
- * Running Kubernetes inside the system container
259
-
260
260
* Running Systemd inside the system container
261
261
262
+ * Running Kubernetes inside the system container
263
+
262
264
* Running window managers (e.g., X) inside the system container (for GUI apps & desktops).
263
265
264
266
## Feedback
@@ -278,26 +280,20 @@ There is a simple shell script to do this [here](scr/rm_all_syscont).
278
280
279
281
1 ) Uninstall Sysbox binaries:
280
282
281
- ``` bash
283
+ ``` console
282
284
$ sudo dpkg --remove sysbox
283
285
```
284
286
285
287
Alternatively, remove the above items plus all the associated
286
288
configuration and systemd files (recommended):
287
289
288
- ``` bash
290
+ ``` console
289
291
$ sudo dpkg --purge sysbox
290
292
```
291
293
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:
299
295
300
- ``` bash
296
+ ``` console
301
297
$ sudo userdel sysbox
302
298
```
303
299
0 commit comments