←back to thread

726 points psviderski | 3 comments | | HN request time: 0.629s | source

I got tired of the push-to-registry/pull-from-registry dance every time I needed to deploy a Docker image.

In certain cases, using a full-fledged external (or even local) registry is annoying overhead. And if you think about it, there's already a form of registry present on any of your Docker-enabled hosts — the Docker's own image storage.

So I built Unregistry [1] that exposes Docker's (containerd) image storage through a standard registry API. It adds a `docker pussh` command that pushes images directly to remote Docker daemons over SSH. It transfers only the missing layers, making it fast and efficient.

  docker pussh myapp:latest user@server
Under the hood, it starts a temporary unregistry container on the remote host, pushes to it through an SSH tunnel, and cleans up when done.

I've built it as a byproduct while working on Uncloud [2], a tool for deploying containers across a network of Docker hosts, and figured it'd be useful as a standalone project.

Would love to hear your thoughts and use cases!

[1]: https://github.com/psviderski/unregistry

[2]: https://github.com/psviderski/uncloud

Show context
nine_k ◴[] No.44314310[source]
Nice. And the `pussh` command definitely deserves the distinction of one of the most elegant puns: easy to remember, self-explanatory, and just one letter away from its sister standard command.
replies(3): >>44314604 #>>44314789 #>>44314848 #
someothherguyy ◴[] No.44314848[source]
and prone to collision!
replies(1): >>44315063 #
nine_k ◴[] No.44315063[source]
Indeed so! Because it's art, not engineering. The engineering approach would require a recognizably distinct command, eliminating the possibility of such a pun.
replies(2): >>44319345 #>>44320118 #
1. rollcat ◴[] No.44319345[source]
I used to have an alias em=mg, because mg(1) is a small Emacs, so "em" seemed like a fun name for a command.

Until one day I made that typo.

replies(1): >>44320391 #
2. bobbiechen ◴[] No.44320391[source]
I'm a fan of installing sl(1), the terminal steam locomotive. I mistype it every couple months and it always gives me a laugh.

https://github.com/mtoyoda/sl

replies(1): >>44320991 #
3. danillonunes ◴[] No.44320991[source]
In the same spirit there's gti https://r-wos.org/hacks/gti