container manager
Project description
concil
concil is a simple, rootless, and daemonless container manager designed to run OCI-compliant Linux containers.
It provides a lightweight and secure way to run standalone applications in isolated user-space environments.
With a focus on simplicity and security, concil offers features like image encryption and signature verification, making it an excellent alternative to more complex containerization tools.
Features
- OCI-Compliant: Run containers from OCI-compliant registries like Docker Hub.
- Rootless and Daemonless: Run containers without requiring root privileges or a background daemon.
- Image Encryption: Encrypt container layers for enhanced security.
- Signature Verification: Verify the integrity and authenticity of container images using cosign.
- Image Management: Build, copy, and manage container images with a simple command-line interface.
- Low Complexity: A straightforward and easy-to-understand tool for container management.
Comparison with Docker
| Docker | Concil | |
|---|---|---|
| OCI-Repository | ✓ | ✓ |
| Signature | ✓ | ✓ |
| Encryption | ✗ | ✓ |
| Rootless / Daemonless | ✗ | ✓ |
| Network isolation | ✓ | ✗ |
| Complexity | high | low |
Installation
You need Python 3.6+ to run concil.
It uses image layers in squashfs-format. Build the squashfuse-library from https://github.com/ruema/squashfuse.
To create squashfs-layers tar2sq from squashfs-tools-ng is used.
As a third component fuse-overlayfs is used to for interactive layer creation.
Quickstart
Running a container
$ concil_run.py docker://docker.io/library/alpine:latest
Creating a container
First download a base image to a local directory:
$ concil copy docker://docker.io/library/alpine:latest ./alpine
Then add a directory as additional layer:
$ mkdir -p ./layer/bin
$ echo "echo 'Hello world!'" >./layer/bin/hello.sh
$ chmod a+x ./layer/bin/hello.sh
$ concil copy --add-layer ./layer --entry-point /bin/hello.sh ./alpine ./hello_world
The container is finished and can be run:
$ concil_run.py ./hello_world
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file concil-1.0.0.tar.gz.
File metadata
- Download URL: concil-1.0.0.tar.gz
- Upload date:
- Size: 55.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c64167f951c0b50e9f640a173a391dfbc954d07a28ef9b023e7e746e7fc9b57c
|
|
| MD5 |
ffcb443f2fd76e5b30c3ec05d818e8e8
|
|
| BLAKE2b-256 |
1d5a2c57c226bff66b4289c6ad9652b2bdb350dec03ccb6d4965964c38217d44
|
File details
Details for the file concil-1.0.0-py3-none-any.whl.
File metadata
- Download URL: concil-1.0.0-py3-none-any.whl
- Upload date:
- Size: 53.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbd4cb8738fab2f72cbdfe6fc0f31363b6b8dff9d2806c96c354218f68d8ab0d
|
|
| MD5 |
f162ecb9c3f0779ba5c77f93ed4709a5
|
|
| BLAKE2b-256 |
36ffc24354a38ce4cb4326d0f986b651f2f4d75c9c2c6877c9b9ab10c5562db2
|