Vinci
Declarative and Reproducible Container Images
- Declarative: An image built with vinci is not 'run', it's assembled using the layer specs.
- Reproducible: All possible steps are designed to always return exactly the same layers, given the same inputs (for the mathematically inclined: this is a pure function).

Declarative and Reproducible Image Management
ready for your Cloud Native environmentsReproducibility
The output of the image assembly process is a pure function of its input. Environmental influences such as current time are eliminated. Besides the obvious security implications, this also allows building images in each CI run and delivering them only when actually changed.
Read more...Quickstart
- Run a local image registry:
docker run -d --name local-registry -p 5000:5000 registry
- Fetch
vinci
from Releases and put it into the$PATH
. -
Put the following into
quickstart.yaml
:spec-version: v1
image: localhost:5000/vinci/quickstart
config:
entrypoint:
- /bin/cat
- /message
layers:
- importOCI: alpine:edge@sha256:56e8a54633573bc40a003884a01e60fb31d070d05e220d244e88ca1c4b5815fa
- file:
path: /message
mode: 0444
contents: |
Hello, World!
- Assemble and run it:
docker run -i --rm $(vinci build quickstart.yaml)
Contribute
All content is licensed under the Apache 2.0 licence. We welcome contributions in our repository on gitlab