https://github.com/michaldziuba03/pocky
Pocky - lightweight, pocket containers ⚓
https://github.com/michaldziuba03/pocky
cgroups chroot container containers docker namespaces
Last synced: about 1 month ago
JSON representation
Pocky - lightweight, pocket containers ⚓
- Host: GitHub
- URL: https://github.com/michaldziuba03/pocky
- Owner: michaldziuba03
- License: mit
- Created: 2024-11-02T12:05:15.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-11-08T04:14:27.000Z (11 months ago)
- Last Synced: 2025-09-02T06:00:50.672Z (about 1 month ago)
- Topics: cgroups, chroot, container, containers, docker, namespaces
- Language: Go
- Homepage:
- Size: 1.47 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
> ⚠️ Experimental project.
# pocky
Pocky - lightweight, pocket containers ⚓

> Basic container with Alpine Linux (I use Ubuntu WSL as host btw).
## TODO:
- [x] Ability to run container (process with specific **namespace** flags)
- [x] Download Alpine Linux rootfs and chroot to it (currently acts like **"image"**).
- [x] Configurable limitations (via **cgroups**)
- [ ] Support **cgroups** v2 and hybrid.
- [x] Experiment with `pivot_root` over `chroot` as more secure alternative (or make it configurable)
- [ ] Implement something what acts as actual, configurable images
- [ ] More networking separation options, bridge etc
- [ ] Real CLI interface and maybe REST API
- [x] Init default devices like `/dev/urandom`, `/dev/null`## Build
> Project relies on **Linux-specific** technology and syscalls.
You can use `make` utility to build project
First run may require configuring `resolve.conf`. Currently it shares all networking with host (works like `host` parameter in Docker)
```shell
make
cd build
# currently it always installs alpine
sudo ./pocky download alpine
# run any binary on installed distro
sudo ./pocky run /bin/sh
```## License
Distributed under the MIT License. See `LICENSE` for more information.