Package types
Docker and OCI
Push and pull container images; the repository name is the first segment of the image path.
This command runs docker login with your token (relic package setup podman for Podman):
relic package setup docker docker --write
Push an image to a local repository:
docker push relic.example.com/docker-local/app:1.0
Pull through a virtual or remote repository:
docker pull relic.example.com/docker/nginx:1.27
Record the pushed image in a build, with every platform of a multi-platform image that the repository stores:
relic build add-image app 1 docker-local/app:1.0
For a private CA (TLS), put the CA certificate in
/etc/docker/certs.d/<host:port>/ca.crt.
- A remote of
https://registry-1.docker.iocaches Docker Hub, includinglibrary/images. docker search relic.example.com/<text>lists the images you may read whose<repository>/<image>name contains the text, stored ones only, without descriptions or stars.- Multi-platform images are stored with their platform manifests.
- The registry passes the OCI distribution specification 1.1 conformance suite.
GET /v2/<repo>/<image>/referrers/<digest>lists signatures, SBOMs and attestations (pushed byorasorcosign);?artifactType=filters them.- A tag's Docker tab shows layers, build instructions and labels; Security shows vulnerabilities.
Kubernetes
Create an image pull secret:
kubectl create secret docker-registry relic --docker-server=relic.example.com \
--docker-username=<you> --docker-password=<token>
Reference it in the pod spec:
spec:
imagePullSecrets: [{name: relic}]
containers: [{name: app, image: "relic.example.com/docker/app:1.0"}]
With a certificate the nodes trust, containerd needs nothing else. For plain HTTP or a
private CA, add /etc/containerd/certs.d/relic.example.com/hosts.toml on each node, or on k3s
an entry in /etc/rancher/k3s/registries.yaml.