Stack files into a container image (without a running Docker daemon, too)
This project is really just a thin wrapper around
- Python 3.6+
- Skopeo and Umoci
- Start from a
python:3.10image available to your local Docker daemon, - Add a layer containing the local
./tests/appdirectory as/app - Save the result as
appified-python.tarwith an embedded tagappified-python:latest(which can bedocker loaded):
python3 -m pino --base-image python:3.10 --dest-image ./appified-python.tar --add ./tests/app:/app --dest-tag appified-python:latest
The same, but directly to the local Docker daemon:
python3 -m pino --base-image python:3.10 --dest-image appified-python:latest --add ./tests/app:/app
How about without Docker running at all?! This grabs Python 3.10 from docker.io, applies our changes and saves a tarball.
python3 -m pino --base-image docker://docker.io/python:3.10 --dest-image appified-python.tar --add ./tests/app:/app
Since pino uses Skopeo under the hood, you can follow Skopeo's authentication instructions, then directly --dest-image docker://myregistry.local:5000/ too.
- Pino currently requires quite some additional disk space.
- UIDs are not mapped. Unless your local user's UID is the one you want in the container, it's not going to be correct.
pino is Finnish for "stack", and that's what this does.