upvote
So put the binary in the container. Why does it have to be compiled within the container?
reply
That is what they are doing. It's a 2 stage Dockerfile.

First stage compiles the code. This is good for isolation and reproducibility.

Second stage is a lightweight container to run the compiled binary.

Why is the author being attacked (by multiple comments) for not making things simpler when that was not claimed that as the goal. They are modernizing it.

Containers are good practice for CI/CD anyway.

reply
I'm not sure why "complicate things unnecessarily" is considered more modern.

Don't do what you don't need to do.

reply
You realize the author is compiling a Rust webserver for a static website right?

They are already long past the point of "complicate things unnecessarily".

A simple Dockerfile pales in comparison.

reply
That’s a reasonable deployment strategy, but a pretty terrible local development strategy
reply
Devcontainers are a good compromise though - you can develop within a context that can be very nearly identical to production; with a bit of finagling you could even use the same dockerfile for the devcontainer, and the build image and the deployed image
reply
Because he spends a good deal of the intro complaining that this makes his dev practice slow. So don’t do it! It has nothing to do with docker but rather the fact he is wiping the cache on every triggered build.
reply
Mightily resisting the urge to be flippant, but all of those benefits were achieved before Docker.

Docker is a (the, in some areas) modern way to do it, but far from the only way.

reply
Increased security compared to bare hardware, lower than VMs. Also, lower than Jails and RKT (Rocket) which seems to be dead.
reply
> process isolation, increased security

no, that's sandboxing.

reply