You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-3Lines changed: 9 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -38,12 +38,18 @@ Accelerated Container Image is a __non-core__ sub-project of containerd.
38
38
39
39
It is a [containerd](https://containerd.io/) snapshotter plugin for overlaybd image. This snapshotter is compatible for OCI image, as well as overlayfs snapshotter.
40
40
41
-
* image-convertor
41
+
*embedded image-convertor
42
42
43
43
We provide a modified CLI tool(ctr) to facilitate image pull, and custom conversion from traditional OCI tarball format to overlaybd format.
44
44
45
45
The convertor supports layer deduplication, which prevents duplication of layer conversion for every image conversion.
Standalone userspace image-convertor has similar functionality to embedded image-convertor but runs in the userspace. It does not require root privilege and dependence on tcmu, configfs, snapshotter, or even on containerd. which makes it much more convenient to run in a container.
50
+
51
+
What's more, standalone userspace image-convertor is faster than embedded image-convertor when used with our [customized libext2fs](https://github.com/data-accelerator/e2fsprogs). See [USERSPACE_CONVERTOR](https://github.com/containerd/accelerated-container-image/blob/main/docs/USERSPACE_CONVERTOR.md) for more details.
52
+
47
53
*[buildkit for overlaybd](https://github.com/data-accelerator/buildkit) (Experimental)
48
54
49
55
It is a customized buildkit for overlaybd images. It fetches the data of base images on demand without pulling whole data and uses overlaybd writable layer to build new layers.
@@ -62,9 +68,9 @@ Accelerated Container Image is a __non-core__ sub-project of containerd.
62
68
63
69
* See how to convert OCI image into overlaybd with specified file system at [MULTI_FS_SUPPORT](docs/MULTI_FS_SUPPORT.md).
64
70
65
-
* See how to use layer deduplication for image conversion at [IMAGE_CONVERTOR](docs/IMAGE_CONVERTOR.md)
71
+
* See how to use layer deduplication for image conversion at [IMAGE_CONVERTOR](docs/IMAGE_CONVERTOR.md).
66
72
67
-
* See how to use overlaybd writable layer at [WRITABLE](docs/WRITABLE.md)
73
+
* See how to use overlaybd writable layer at [WRITABLE](docs/WRITABLE.md).
68
74
69
75
* Welcome to contribute! [CONTRIBUTING](docs/CONTRIBUTING.md)
sudo ctr run --net-host --snapshotter=overlaybd --rm -t registry.hub.docker.com/overlaybd/redis:6.2.1_obd demo
197
198
```
198
199
199
-
- usr k8s/cri
200
+
- use k8s/cri
200
201
201
202
Run with k8s or crictl, refer to [EXAMPLES_CRI](https://github.com/containerd/accelerated-container-image/blob/main/docs/EXAMPLES_CRI.md).
202
203
203
204
## Image conversion
204
205
205
-
Images can be convert from oci format to overlaybd format by the following commands.
206
+
There are 2 ways to convert images from oci format to overlaybd format, by using embedded image-convertor or using standalone userspace image-convertor respectively.
Copy file name to clipboardExpand all lines: docs/USERSPACE_CONVERTOR.md
+23-10Lines changed: 23 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -1,32 +1,28 @@
1
-
# Userspace Image Convertor
1
+
# Standalone Userspace Image Convertor
2
2
3
-
We provide a tool to convert OCIv1 images into overlaybd format in userspace, without the dependences of containerd and tcmu. Only several ovelraybd tools binary are required.
3
+
Standalone userspace image-convertor is a tool to convert OCIv1 images into overlaybd format in userspace, without the dependences of containerd and tcmu. Only several ovelraybd tools binary are required.
4
4
5
5
This convertor is stored in `bin` after `make`.
6
6
7
7
This is an experimental feature and will be continuously improved.
8
8
9
9
10
-
# Requirement
10
+
##Requirement
11
11
12
12
There's no need to install containerd, no need to launch and mount tcmu devices, no need to run as root.
13
13
Only several tools are required:
14
14
15
-
- overlaybd-createand overlaybd-commit
15
+
- overlaybd-create, overlaybd-commit and overlaybd-apply
16
16
17
-
Two overlaybd tools provided in [overlaybd](https://github.com/containerd/overlaybd), stored at `/opt/overlaybd/bin`.
18
-
19
-
- overlaybd-apply
20
-
21
-
A tool to apply oci layers into overlaybd, provided in [overlaybd-apply](https://github.com/data-accelerator/overlaybd-apply), stored at `/opt/overlaybd/bin`.
17
+
Three overlaybd tools provided in [overlaybd](https://github.com/containerd/overlaybd), stored at `/opt/overlaybd/bin`.
22
18
23
19
- baselayer
24
20
25
21
stored at `/opt/overlaybd/baselayers/ext4_64` after installing [overlaybd](https://github.com/containerd/overlaybd). This is only required just for now. Once the automatic mkfs is implemented, it's no longer needed.
26
22
27
23
Overall, the requirements are `/opt/overlaybd/bin/{overlaybd-create,overlaybd-commit,overlaybd-apply}` and `/opt/overlaybd/baselayers/ext4_64`.
Standalone userspace image-convertor is developed based on [libext2fs](https://github.com/tytso/e2fsprogs), and we have provided a [customized libext2fs](https://github.com/data-accelerator/e2fsprogs) to make the conversion faster. We used `standalone userspace image-convertor (with custom libext2fs)`, `standalone userspace image-convertor (with origin libext2fs)` and `embedded image-convertor` to convert some images and did a comparison for reference.
53
+
54
+
### Performance
55
+
56
+
| Image | Image Size | with custom libext2fs | with origin libext2fs | embedded image-convertor |
| jupyter-notebook | 4.84 GB | 93 s | 238 s | 101 s |
59
+
| php-laravel-nginx | 567 MB | 13 s | 20 s | 15 s |
60
+
| ai-cat-or-dog | 1.81 GB | 27 s | 54 s | 60 s |
61
+
| cypress-chrome | 2.73 GB | 70 s | 212 s | 87 s |
62
+
63
+
### Use with origin libext2fs
64
+
65
+
Standalone userspace image-convertor uses customized libext2fs by default. If you want to use original libext2fs instead of it, see the cmake cache entry `-D ORIGIN_EXT2FS=1` of [overlaybd](https://github.com/containerd/overlaybd#build).
0 commit comments