This is cool but it'll be a nightmare to update.
Also, chances are that if you use Alpine the person using your image already has the base layer downloaded, so your image might actually be "bigger" for most people.
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities [email protected]
This is cool but it'll be a nightmare to update.
Also, chances are that if you use Alpine the person using your image already has the base layer downloaded, so your image might actually be "bigger" for most people.
Yeah in a PR I would probably reject this for being too clever. Before clicking I expected the image to start at 100mb or more, but it's already under 50, who cares at this point?
Man, "too clever" is a phrase that always throws me for a loop, even though I understand what is meant by it; over the years, as I grow wiser, I learn to be less clever. Still weird to think of it this way though
Dockerizing a shell script?
The art of turning a 500-line text file into a 50MB tarball. Welcome to the future :(
Yeah, wtf, why would you do that?
Environments like Kubernetes only run containers so you would deploy any shell script with containers as well.
But you'd use the shell script as part of something else, surely? As in, it's not a container, it's something deployed as part of or copied into a container?
That depends, we have quite a few images that are just a single shell script or a collection of shell scripts which run as jobs or cronjobs. Most of them are used for management tasks like cleaning up, moving stuff or debugging.
Has the big advantage of being identical on each node so you don't have to worry about keeping those shell scripts up to date with volumes. Very easy to just deploy a job with a debug image on every node to quickly check something in a cluster.
Of course, if the shell script "belongs" to an application you might as well add the shell script in the application container and override the start arguments.
So you know what your dependencies are.
17+ MB for a shell script.
Then asks:
Could we reduce the size further
No. No certainly not. I would see no way to make a 500 lines text file use less than 17 MB of space.