this post was submitted on 04 Feb 2024
75 points (92.1% liked)

Programming

17270 readers
39 users here now

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

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
top 11 comments
sorted by: hot top controversial new old
[–] [email protected] 26 points 9 months ago (1 children)

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.

[–] [email protected] 16 points 9 months ago (1 children)

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?

[–] [email protected] 6 points 9 months ago

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

[–] [email protected] 22 points 9 months ago (2 children)

Dockerizing a shell script?

[–] [email protected] 21 points 9 months ago

The art of turning a 500-line text file into a 50MB tarball. Welcome to the future :(

[–] [email protected] 8 points 9 months ago (2 children)

Yeah, wtf, why would you do that?

[–] [email protected] 12 points 9 months ago (1 children)

Environments like Kubernetes only run containers so you would deploy any shell script with containers as well.

[–] [email protected] 2 points 9 months ago (1 children)

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?

[–] [email protected] 3 points 9 months ago

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.

[–] [email protected] 5 points 9 months ago

So you know what your dependencies are.

[–] [email protected] 11 points 9 months ago

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.