4 ms·
What benefit would Docker images have over the existing upstream distribution or distro packaging? The Rust compiler doesn't have any particularly complicated d
by lambda 11y ago
What benefit would Docker images have over the existing upstream distribution or distro packaging? The Rust compiler doesn't have any particularly complicated dependencies, either installing the binaries directly from rust-lang.org or installing packages from your distro (if your distro has packages yet) should work fine.
Container images are great for daemons with possibly complicated dependency sets that might have conflicting version requirements with other packages and can benefit from isolation from other packages that containerization gives, but seem like a pretty heavyweight solution for just installing a compiler.
- Drdrdrq 11y agoOne benefit: one could install latest version of Rust on any distribution. Debian stable for instance usually lags behind (with good reason, but still...). I imagine it is mostly useful for checking out Rust though, not for normal use.
- lambda 11y agoThe installer from https://www.rust-lang.org https://www.rust-lang.org works fine on Debian stable. Right now, you can just use the upstream rustup.sh script for platforms that don't yet have it packaged (like Debian stable), or install from your distro for those that do (or use rustup.sh on those as well if you like). What I'm not seeing is the value of a Docker image. Rust doesn't have much in the way of runtime dependencies, which is where the value of a container generally comes in. I don't know of a platform where Docker image would work but rustup.sh would not.
- nitrogen 11y agoI'd attribute it to IMO bad devops habits encouraged by Docker. It's too easy in Docker to depend on someone's unofficial image ("FROM rustxyz" vs. "FROM debian + download deps + install rust"). Having official images would at least reduce the number of people building their infrastructure on unverified/unofficial images.
- Drdrdrq 11y agoSo you think running some script on my machine is preferable to running a container? If I don't like having Rust around, with containers I can just remove it. With script - yeah, maybe, with some digging for correct parameters and assuming it cleans up after itself properly (which is far from trivial). Packages are of course preferable if available and up-to-date.
- steveklabnik 11y agorustup.sh has an --uninstall flag that should remove everything cleanly.
- Drdrdrq 11y agoShould. It wouldn't be the first script to have a bug.
- ones_and_zeros 11y agoA few reasons: - It is common for languages to have official Docker images (Java, Ruby, Python, Go, Erlang, Haskell, Julia, etc) - In August the install process didn't work on my Debian system, eventually got guidance for workarounds from IRC - Our build farm is docker based, application deployment environment is docker based - Ensures development environments are identical - Solves the multiple compiler issue As much as I use Docker, it'd be tough for me to call it heavyweight. In terms of resource consumption Docker is just a neat wrapper over some functionality that is built in to the kernel, there is no "vm" of any sort, which is a common misconception.