Why wrap a CLI tool in a docker container? Wouldn't it be simpler to directly compile nyancat to multiple architectures if the goal is to make it run on all platforms?
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
If you really wanted to, you could create an actually portable executable :)
That looks really interesting! Does this exist for other languages like Rust?
Yes, some people tried it, and it seems to work: https://ahgamut.github.io/2022/07/27/ape-rust-example/
Very interesting, might have to check that out sometime
Like go?
Because I'm doing this as a "self-learning" process. Plus, docker is an excellent tool and even "silly" images like this one can give me an edge while looking for (more) jobs, so there's that. Coding could grant me the same "edge" as well yes, but docker has "more value" since it requires you to code -AND- to have some knowledge/depth regarding typical "dockerization" processes.
I would imagine it's just to experiment with docker
Works great on my Raspberry Pi 4! (Most Docker images don't support arm64.)
Glad to hear! Thanks.
Neat! What proccess did you follow for building distroless? I was using buildah, mounting dir, yum installing into the mount, and exporting that container off.
Eh...the usual "FROM: alpine:edge", pull everything in with git, change the code as needed, static compiling everything, strip dead code out of the binary, send the binary in a scratch image and then assigning a non-root user to it.
My downvotes are to the right 😩, I guess this means I gotta upvote
Eh, that was meant to be a slight mockery for "ex-redditors" (since they are mostly composed of "downvote-happy" users).
I know, this comment was my silly way of saying I like what you’re doing.