proxy.golang.org : github.com/shivanshs9/go-overlay2
This backend uses the overlay union filesystem for containers with diff directories for each layer. This version of the overlay driver requires at least kernel 4.0.0 in order to support mounting multiple diff directories. Each container/image has at least a "diff" directory and "link" file. If there is also a "lower" file when there are diff layers below as well as "merged" and "work" directories. The "diff" directory has the upper layer of the overlay and is used to capture any changes to the layer. The "lower" file contains all the lower layer mounts separated by ":" and ordered from uppermost to lowermost layers. The overlay itself is mounted in the "merged" directory, and the "work" dir is needed for overlay to work. The "link" file for each layer contains a unique string for the layer. Under the "l" directory at the root there will be a symbolic link with that unique string pointing the "diff" directory for the layer. The symbolic links are used to reference lower layers in the "lower" file and on mount. The links are used to shorten the total length of a layer reference without requiring changes to the layer identifier or root directory. Mounts are always done relative to root and referencing the symbolic links in order to ensure the number of lower directories can fit in a single page for making the mount syscall. A hard upper limit of 128 lower layers is enforced to ensure that mounts do not fail due to length.
Registry
-
Source
- Documentation
- JSON
purl: pkg:golang/github.com/shivanshs9/go-overlay2
License: Apache-2.0
Latest release: almost 9 years ago
First release: almost 9 years ago
Namespace: github.com/shivanshs9
Last synced: 22 days ago