Comments (1)
Nerdctl is a Docker compatible CLI for containerd. The concept of "snapshots" seems to be an integral part of how containerd
works.
In order to create a container, the following must occur:
The image and all its content must be loaded into the content store. This normally happens via download from the OCI registry, but you can load content in directly as well.
Committed snapshots must be created from each layer of content for the image.
An active snapshot must be created on top of the final layer of content for the image.
A container now can be created, with its root filesystem as the active snapshot.
Nerdctl directory layout
There are few interesting folders for Nerdctl
"rootless" installations
~/.config/containerd
~/.local/share/nerdctl
~/.local/share/containerd
io.containerd.runtime.v1.linux
,io.containerd.runtime.v2.task
io.containerd.snapshotter.v1.btrfs
io.containerd.snapshotter.v1.native
tmpmounts
io.containerd.metadata.v1.bolt
io.containerd.content.v1.content
io.containerd.snapshotter.v1.overlayfs
Nerdctl snapshotters
There are several "snapshotters" that work with nerdctl
including the native one, stargz, fuse-overlayfs, just to name a few. Apparently there's a gRPC
contract implementation for using a given "snapshotter plugin".
Compressing image blobs
It is possible to compress images with nerdctl
really well (slow process)
nerdctl image convert --estargz --oci <originalname> <newname>
Sadly, compressing images sadly doesn't address any disk storage concerns after removing the original uncompressed image.
The snapshot is still present and it's essentially a duplicate copy of the unpacked image contents.
If using let's say the overlayfs snapshotter, we would have duplicated data in the snapshot folder.
~/.local/share/containerd/io.containerd.content.v1.content
~/.local/share/containerd/io.containerd.snapshotter.v1.overlayfs
from entrusted.
Related Issues (20)
- OS Native Sandboxing vs Container Solution HOT 1
- Flatpak: Initial support and underpinnings Part II HOT 1
- CI_CD: Build musl compatible binaries for the GUI HOT 1
- Live CD: Update to the latest kernel LTS release
- Live-CD Build Error HOT 9
- Live-CD - Build Linux Only HOT 1
- Disable custom seccomp profile
- Conversions cannot start on Mac OS as external programs can't be launched
- Live CD: Regression - Cannot boot in BIOS mode - 0.3.1 release tests HOT 1
- Arm64: Regression - Make custom seccomp profile arm-compatible - 0.3.1 release tests HOT 1
- Custom seccomp profile fails again HOT 1
- Desktop UI: Fedora and Gnome files: Drag and Drop multiple files HOT 2
- CI/CD: Improve builds/releases pipeline HOT 1
- CI_CD: Local containerized macos build pipeline issues for arm64 HOT 1
- GUI: Linux: Stop wrapping the desktop graphical interface inside an AppImage HOT 1
- Revert back to rootful builder images
- Live CD: Containerize most of the build process HOT 5
- Linux:GUI: Add shared library dependencies in package descriptors
- Release 0.3.2 HOT 1
- Cleanup GitHub workflow
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from entrusted.