a_t48
Joined 11 years ago
Joined 11 years ago
It uses the LICENSE file as a lock. Before anything else, it reads the package's own LICENSE file and looks for a line that has no business being in a licence:
_sigh_ - I've had someone in the Docker discord tell me at length that my container shouldn't be bigger than 1GB, which is impossible the moment you pull in CUDA or any ML libraries.
- Robots pull over 3G/Starlink/slow customer WiFi
- Robots are edge devices! They have previous related images, they aren't pulling onto a fresh disk like on web.
It's super common to have a layer in your Dockerfile that has several GB worth of dependencies. If you touch one of the dependencies, it thrashes that layer and anything below it. To quote the CPO from a company I left "Anytime anyone looks at the container the wrong way its a 13g dl over a shit cell connection or starlink". It's extra shit because most of the data the robot is pulling, the robot already has in another layer!Clipper solves this by breaking apart Docker layers and indexing the files within. When you pull an image it will reuse related files in images you already have on your device. This has other side benefits as well, like being able to mount layers as networked filesystems and much more easily being able to run P2P updates.
It's less that robotics needs a different container registry and more that robotics needs a better container transport, and I've built the infrastructure around it for my registry.
Self plug: I'm the founder of Clipper, a container registry that has 10x faster pulls and 7x faster builds over DockerHub, targeted at robotics. I got tired of robotics deploys taking all day and fixed it myself. If you're interested in that or just want to talk shop, let's chat.