Live data from Hacker News

Show HN: Unregistry – “docker push” directly to servers without a registry

github.com

141–150 of 178 posts

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#141
post #23

You can do these image acrobatics with the dagger shell too, but I don't have enough experience with it to give you the incantation: https://docs.dagger.io/features/shell/

I assume you can do these "image acrobatics" in any shell.

[deleted]

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#142
post #23

You can do these image acrobatics with the dagger shell too, but I don't have enough experience with it to give you the incantation: https://docs.dagger.io/features/shell/

I assume you can do these "image acrobatics" in any shell.

The dagger shell is built for devops, and can pipe first class dagger objects like services and containers to enable things like

  github.com/dagger/dagger/modules/wolfi@v0.16.2 |
  container |
  with-exec ls /etc/ |
  stdout
What's interesting here is that the first line demonstrates invocation of a remote module (building a Wolfi Linux container), of which there is an ecosystem: https://daggerverse.dev/

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#143
post #30
post #15

Ooh this made me discover uncloud. Sounds like exactly what I was looking for. I wanted something like dokku but beefier for a sideproject server setup.

There is also https://skateco.github.io/ which (at quick glance) seems similar

Skate author here: please try it out! I haven’t gotten round to diving deep into uncloud yet, but I think maybe the two projects differ in that skate has no control plane; the cli is the control plane.

I built skate out of that exact desire to have a dokku like experience that was multi host and used a standard deployment configuration syntax ( k8s manifests ).

https://skateco.github.io/docs/getting-started/

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#144
I naively sent the Docker developers a PR[1] to add this functionality into mainline Docker back in 2015. I was rapidly redirected into helping out in other areas - not having to use a registry undermined their business model too much I guess.

[1]: https://github.com/richardcrichardc/docker2docker

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#146
post #27

This should have always been a thing! Brilliant. Docker registries have their place but are overall over-engineered and an antithesis to the hacker mentality.

I think the complexity lies in the dance required to push blobs to the registry. I've built an OCI-compliant pull-only registry before and it wasn't that complicated.

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#147

Earlier quoted context omitted.

No, in my example the docker-compose.yml would exist alongside your application's source code and you can use the `build` directive https://docs.docker.com/reference/compose-file/services/#bui... to instruct the remote host (Hetzner VPS, or whatever else) to build the image. That image does not go to an external registry, but is used internal to that remote host. For 3rd party images like `postgres`, etc., then yes i…

Seems like it makes more sense to build on the build machine, and then just copy images out to PROD servers. Having source code on PROD servers is generally considered bad practice.

The source code does not get to the filesystem on the prod server. It is sent to the Docker daemon when it builds the image. After the build ends, there's only the image on the prod server.

I am now convinced that this is a hidden docker feature that too many people aren't aware of and do not understand.

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#148

What’s the difference between this and skopeo? Is it the ssh support ? I’m not super familiar with skopeo forgive my ignorance https://github.com/containers/skopeo

Skopeo lets you work with remote registries and local images without a docker/podman/etc daemon.

We use to ‘clone’ across deployment environments and across providers outside of the build pipeline as an adhoc job.

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#149
post #30

Earlier quoted context omitted.

There is also https://skateco.github.io/ which (at quick glance) seems similar

Skate author here: please try it out! I haven’t gotten round to diving deep into uncloud yet, but I think maybe the two projects differ in that skate has no control plane; the cli is the control plane. I built skate out of that exact desire to have a dokku like experience that was multi host and used a standard deployment configuration syntax ( k8s manifests ). https://skateco.github.io/docs/getting-started/

Looks like uncloud has no control plane, just a CLI: https://github.com/psviderski/uncloud#-features

Re: Show HN: Unregistry – “docker push” directly to servers without a registry

#150
Docker creator here. I love this. In my opinion the ideal design would have been:

1. No distinction between docker engine and docker registry. Just a single server that can store, transfer and run containers as needed. It would have been a much more robust building block, and would have avoided the regrettable drift between how the engine & registry store images.

2. push-to-cluster deployment. Every production cluster should have a distributed image store, and pushing images to this store should be what triggers a deployment. The current status quo - push image to registry; configure cluster; individual nodes of the cluster pull from registry - is brittle and inefficient. I advocated for a better design, but the inertia was already too great, and the early Kubernetes community was hostile to any idea coming from Docker.

Post reply on HN