▲ | alisonatwork 4 days ago | |
This is a cool idea that seems like it would integrate well with systems already using push deploy tooling like Ansible. It also seems like it would work as a good hotfix deployment mechanism at companies where the Docker registry doesn't have 24/7 support. Does it integrate cleanly with OCI tooling like buildah etc, or if you need to have a full-blown Docker install on both ends? I haven't dug deeply into this yet because it's related to some upcoming work, but it seems like bootstrapping a mini registry on the remote server is the missing piece for skopeo to be able to work for this kind of setup. | ||
▲ | psviderski 4 days ago | parent | next [-] | |
You need a containerd on the remote end (Docker and Kubernetes use containerd) and anything that speaks registry API (OCI Distribution spec: https://github.com/opencontainers/distribution-spec) on the client. Unregistry reuses the official Docker registry code for the API layer so it looks and feels like https://hub.docker.com/_/registry You can use skopeo, crane, regclient, BuildKit, anything that speaks OCI-registry on the client. Although you will need to manually run unregistry on the remote host to use them. 'docker pussh' command just automates the workflow using the local Docker. Just check it out, it's a bash script: https://github.com/psviderski/unregistry/blob/main/docker-pu... You can hack your own way pretty easily. | ||
▲ | dirkc 3 days ago | parent | prev | next [-] | |
I agree! For a bunch of services I manage I build the image locally, save it and then use ansible to upload the archive and restore the image. This usually takes a lot longer than I want it to! | ||
▲ | 0x457 4 days ago | parent | prev [-] | |
It needs docker daemon on both ends. This is just a clever way to share layer between two daemons via ssh. |